Javascriptのメモ
久々の投稿。改めてきちんと学ばないとだめだと感じて、本を読んでいます。
JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
中・上級者向きで出てくる言葉も難しめ。だががんばる。 以下はメモ書き。自分がこれはと思った部分だけ載せているので、詳しい内容が気になる方は実際の本をどうぞ。
2章 文法:
- ブロックコメントは正規表現 /a*/ などとかぶる危険性。//推奨。(p8)
- 数値型は1つしかない。内部的には64ビットの浮動小数。(p9)
- ユニコードが16ビットの文字集合だったときに設計されているため、すべての文字は16ビット長。(p11)
- switch、while、for、do文は、ラベルをオプションとして命令文の前に付けることが出来る。(p12)
- returnと式の間に改行を入れることはできない。(p16)
- breakとラベルの間に改行を入れることはできない。(p17)
- typeofを利用すると・・・オペランドが配列かnullだった場合には、結果はobjectになってしまう。(p19)
3章 オブジェクト:
プロパティ名には、空文字を含む任意の文字列が利用できる。プロパティ名の前後につけるクォートは、文字列が予約語でなく、Javascriptの名前に則っていれば、省略可能。(p24)
-
(以下はどっちかというと2章 p19の出張版)
||演算子を使ってデフォルト値を設定することができる。(p24)var aaa = bbb["ccc"] || "(none)"; -
&&演算子を使って、undefinedに対してさらにプロパティを取得しようとしたときのTypeErrorを回避できる。(p25)
aaa.bbb //undefined aaa.bbb.ccc //type error aaa.bbb && aaa.bbb.ccc //undefined -
オブジェクトは参照渡しが行われる。コピーされることはない。(p25)
var a={}, b={}, c={}; //a, b, cはそれぞれ異なる空オブジェクトを参照している a = b = c = {}; //a, b, cはすべて同じ空オブジェクトを参照している プロパティの列挙。for in文で関数やプロトタイプチェーン上のプロパティを取り除く方法として一般的なのは、hasOwnPropertyメソッドと、typeofを用いて関数を取り除く方法。(p27)