2010年8月23日月曜日

「JavaScript: The Good Parts」まとめ1

1章


導入。

2章


2.1 ホワイトスペース
  • /**/ 形式のコメントを使うと正規表現内で */ が問題になることがあるので、// のみ使う。
2.2 名前
  • 名前に使えるのは、アルファベットと数字とアンダースコア。
2.3 数値
  • 数値型は一つ。64ビットの浮動小数点 = double のみ。
  • 1 === 1.0、100 === 1e2
  • NaNは通常の値を生成できない計算の結果。
  • Infinity > 1.798e+308
2.4 文字列
  • 全ての文字が16ビット長
  • 一文字だけのときでも文字列型
  • "A" === "\u0041"
  • 'c' + 'b' + 't' === 'cat'
  • "cat".length === 3
2.5 命令文
  • varで変数を定義するとプライベート変数になる。
  • JavaScriptはブロックで新しいスコープを生成しないので、変数はブロック中ではなく、関数の先頭で定義すべき。
  • if は false, null, undefined, '', 0, NaN のときに false と判定する。それ以外は true。
  • for は for(var i; i<25; i==){} みたいなのと for(myvar in obj){} とがある。
  • try, throw, catch が使える。
  • return で値を指定しないと、戻り値は undefined になる。
  • break label; とすることで、label へジャンプする。
2.6 式
  • A ? B : C で Aが真ならB、偽ならC
  • typeof number, string, boolean, undefined, function, object は正常に動くが、配列が null だとなぜか結果が object になる。(仕様上のミス)
2.7 リテラル
  • 「リテラル」とは、新しいオブジェクトを定義するための記法のこと。
  • オブジェクトリテラル {名前:式}
  • 配列リテラル [式]
  • 正規表現リテラル /正規表現/gim
2.8 関数
  • function 名前 (a, b) {}
  • 名前はあっても無くても良いが、再起的に呼び出す場合には必要。