連休中の課題図書として『JavaScriptテクニックバイブル』を読みました。書籍の目次を見れば分かる通り、デバッグツールの使い方やJavaScriptでハマりがちなポイント、近年話題となっているライブラリまで一通りまとまったリファレンス本となっています。
デバッグ手法や開発環境の構築方法は鮮度が命のトピックですが、一方で「Chapter04 関数を活用する」や「Chapter06 タイマー・イベントを活用する」「Chapter07 組み込みオブジェクトを活用する」といった基本かつ普遍的なトピックでは、JavaScript中級者が読んでもためになる再発見が多々あると思います。僕も「関数名.length」のプロパティを参照すると、関数で定義されている仮引数の数が取得出来ることって初めて知り、勉強になりました(恥ずかしい…)。
文中に登場するサンプルコード群も、Falsyな値やクロスブラウザのハマりどころに引っ掛からないよう、きちんと最低限の安全側に振ったコードが紹介されており、まさしく「現場で使える」感じです。大抵のトピックで「このお題をjQueryで書くとこうなるよ」というものが挙げられており、2013年現在JavaScriptライブラリとしてデファクトスタンダードな地位を占めるに至ったjQueryの参考書としても読める内容です。
強くこだわりを感じた部分は、「2-2 前提条件を表明する」で解説されたassert関数が、以降のサンプルコードで多く登場することです(共著なので書いた人によっては、必ずしも使われている訳ではないようですが)。一方で、拾い読みのつもりで後ろのトピックから読むと、大量に登場するassert()に面食らうかも知れません。個人的にはassert()が詰まって並んでいると単調な紙で読むのが少々辛く、構文ハイライトされた状態で読みたくなりました。
最後まで読んでみた感想としては完全な入門書というには難しく、対象読者を選ぶ印象はありました。自分はこのテクニックバイブルシリーズでは先に『Vimテクニックバイブル』を読んでいるのですが、こちらは書籍の最初でVimスクリプトの構文解説にページが割かれており親切な内容でした。『JavaScriptテクニックバイブル』はJavaScriptの基本構文が冒頭で解説されるような構成ではありません。これは、他に情報源の乏しいVimと書籍や情報が豊富なJavaScriptという扱っている題材の違いと言えそうです。
入門書を読み終えて2冊目、3冊目といった本を探している人におすすめです。
最近のツッコミ
参号館 日記(ariyasacca)