うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

「JavaScript: The Good Parts」でjavascriptの悪さを追う

スポンサーリンク

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

読んだ感想

むしろ、以下にjavascriptの設計が悪いか教えてくれる本だった。

  • あらゆる変数がグローバル(ただし、最新のES6ではローカルにするリテラルが導入された。)
  • クラスの書き方が存在しない(ES6では以下略)
  • NumericやStringやArrayの汎用メソッドが足りない
  • 整数型がない
  • おかしなfalse判定
  • 扱い演算子の数々(new, ==, voidなど)
  • 使用しない大量の演算子

有用だったこと

関数とメソッドの違いなど、普段なんとなく使っている用語の定義があったこと。

メソッド → オブジェクトのプロパティである関数 モジュール → インターフェースを提供するがその内部の状態や実装については隠蔽されている関数やオブジェクト クロージャ → 関数の一種で、作成された際のコンテキストへのアクセスを伴う関数。(書籍には概ねこのように書かれていたが、この定義だと正直たりないと思う)

また、javascriptのバグを生じやすい書き方を学べたこと。 例えば、new演算子。新しいオブジェクトを作ろうとしてnew Hoge()みたいな書き方は良くする。 この時、newを書き忘れた場合に予期しない値が代入されて、バグの原因になる。 よって、newを使わず、別のコンストラクタ関数を用意すべき、という意見があった。

==と===やら&&を&と間違うなど、タイポ関連のバグに対する注意が多く書かれていたと思う。 そもそもjavascriptは例外処理や警告が甘く、大体のミスは見過ごしてしまうので、どこでミスしたか原因切り分けが非常にやりづらい。単なるタイポ一つとっても警告してはくれないので、プログラマ側にミスを減らす努力を強いている。

どんな人におすすめ?

内容は、javascriptの基本文法を伝えつつ、関数やコンストラクタの仕様を教えてくれるものなので、初学者向け。 ただし、いかんせんわかりづらい記述が多いと思う。

「初学者」のレベルとしては、他言語でプログラミングを学んでアプリを作れる程度になった方を想定している。

他の言語から入った場合、javascriptは設計はかなり甘く、同じ感覚でコードを書くと痛い目を見る。 よって、この本でjavascriptの悪い部分をしっかり把握しておくのが、エラーやバグ対処に大いに役に立つだろう。

javascriptをある程度業務ですでに使っているなら、見る必要はない。