『開眼!JavaScript』

巻末付録のレビューで、この本で何を理解出来るか知れる。

  • 2 オブジェクトとプロパティ
    in演算子"prop" in object // objectがpropを持っている場合trueを返す
  • 5 グローバルオブジェクト
    • var 演算子を使わないで変数を定義するのは変数の定義ではない。グローバル変数ではなくグローバルプロパティとなる。プ\ロパティなのでdeleteで削除可能。
  • 7 スコープチェーン
    • 7.5 スコープは関数実行時ではなく関数宣言時に決定される
  • 8 プロトタイプ
    この本の肝となる章。
    CoffeeScriptclass Obj extends Parentみたいに書いてjsに変換しながら読んだ。CoffeeScriptが出力するコードを信頼しているので。
    • プロトタイプチェーン
      「継承」は「共有」って言葉を使ったほうがイメージしやすい。
    • 8.8 オブジェクトの継承を書く時、constructorプロパティに注意。 prototypeを入れ替えるとそのオブジェクトが生成された時のconstructorも失う。
    • 8.10 prototypeはそのオブジェクトが生成された時の参照を保持する。
      親オブジェクトのprototypeの参照が書き換えられた時、それまでに作られた子オブジェクトのprototypeには影響を与えない。

開眼!  JavaScript ―言語仕様から学ぶJavaScriptの本質

開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質