log > 「オブジェクト指向JavaScriptの原則」を読み終えた

「オブジェクト指向JavaScriptの原則」を読み終えた

本書はJavaScriptが持つオブジェクト指向的な言語特性や、その特性を強力にサポートするECMAScript 5の機能を紹介し、それらの特性や機能を活かすプログラミングの方法、考え方、パターンについて、深くそして簡潔に解説する書籍です。
O’Reilly Japan - オブジェクト指向JavaScriptの原則

ECMAScript2015(ES2015)を使っていろいろ使用と思ったのだが、その前にECMAScript 5(ES5)をよく知らなかったので学ぼうと思った。追加されたのはいくつかあるが、主に4つ。

  1. オブジェクトやオブジェクト関連の新たなAPI
  2. 配列操作メソッド
  3. Strictモード
  4. JSONサポート

このうち、オブジェクト関連がよくわからなかったので本書を購入した。ES5のオブジェクトの仕組みや、コンストラクタ、プロトタイプ、継承などを学ぶことができた。が、構文が複雑なので半年経ったらメンテ不可能になりそう。結果的にJavaScriptはオブジェクト指向向いてないのでは、という気分になった。

だが、ES2015にはclass構文が追加されている。これを使えば覚えるのが面倒で複雑な宣言を書かなくてもいい、というメリットはあるのだが、実際にclassからbabelを使ったあとのコードを見たり、ES2015以前の古いコードを見たときに何をやっているかわかるので、本書に書いてあることは有益だった。

ちなみに、es6-features.orgというサイトでは、ES5と書き方を比較できるのだが、classも比較できるため、どれくらい複雑な書き方が単純化されたか見てとれる。

本書は2014年の本だが、2年でここまで変わるJavaScript界隈ついてくのが大変そうだと感じた。書き方は楽になっているのでいいが、いろいろできるようになると選択が難しい。

余談だが、node.greenでES2015がnodeでサポートされているか見ることができるのだが、v5.10.1まであげて–es_stagingフラグをつければclass構文が使えるし、babelを使う手もある。

公式:O’Reilly Japan - オブジェクト指向JavaScriptの原則