書評:仕事でJavaScriptを覚える人に「プロになるためのJavaScript入門」
プログラミング言語の経験がある人がJavaScriptを覚えようとすると、「あれ? なんか違うぞ?」という経験を何度もするのではないでしょうか。どうも配列は自分の知ってる配列っぽくないし、オブジェクトもオブジェクトっぽくない。
本書「プロになるためのJavaScript入門」はそうした、ある程度のプログラミング知識を持つ人のためのJavaScript入門書としてとてもよく書かれています。以下の一文は、JavaScriptの文法を解説した第2章の冒頭に書かれたものです。
JavaScriptの文法要素は単純に見えて、深く掘り下げていくとまったく違う姿を現すということがよくあります。たとえば、スコープの実体はオブジェクトですし、メソッドは関数です。また、関数は突き詰めるとオブジェクトで、さらにクロージャという側面も持っています。このように、JavaScriptの文法の学習とは「Aだと思った? 残念! Bでした」ということを何度も確認していく作業にほかなりません。
この第2章では、動的型付けであること、配列の宣言とその中身、オブジェクト体系など、他のプログラミング言語を知っているプログラマがJavaScriptでつまずきやすい部分を順に分かりやすく解説しています。
初学者向けの書籍だと、基本的な内容とJavaScriptの特徴が合わせて紹介されるため、長い説明の中から知りたい部分を探すのが面倒だったりしますが、本書は開発経験者にフォーカスしたおかげでプログラマが知りたいポイントを的確に押さえつつ分かりやすくまとめられており、とても見通しがよくなっています。この2章だけでも本書の価値は十分にあると思います。
jQuery、Node.jsなどJavaScriptの関連技術をカバー
JavaScriptのもう1つの特徴は、実用的なアプリケーションの構築には言語単体ではなく、HTML5やDOMやXHR(XMLHttpRequest)のようなデータモデルや通信、jQueryやjQuery Mobile、Node.jsのようなライブラリやフレームワークなどの関連技術の活用が必須だということです。
全11章のうち3章から11章では、これら関連技術のうち代表的なものをカバーし。JavaScriptで何ができ、それをどう使うのかが概観できます。
第1章 JavaScript入門
第2章 JavaScriptの文法
第3章 DOMとXHR
第4章 JQuery
第5章 JQuery UI
第6章 HTML5とその周辺のJavaScriptの仕様
第7章 大規模開発入門
第8章 jQuery Mobile
第9章 モバイルデバイスでのHTML5と周辺APIの利用
第10章 node.js―サーバサイドJavaScript環境
第11章 express―サーバサイドJavaScriptフレームワーク
第4章ではjQueryを使ったDOMの操作からイベント処理など基本的な機能を、第5章ではjQuery UIを用いたユーザーインターフェイスの構築について、第7章では大規模開発をサポートするツールとして、テストフレームワークのJasmineの解説とMVCフレームワークのBackbone.jsの解説が柱になっています。
本書はタイトル通り、プロになるためのJavaScriptの知識、特に業務アプリ寄りの知識が450ページを超える一冊の中に一通り詰め込まれています。一方で、それぞれの内容に踏み込んだ解説があるとはいえ、ひとつひとつの章はそれぞれ一冊の書籍になってもおかしくないテーマであり、一通り本書でJavaScriptの関連技術を把握した上で、さらに突っ込んだ部分が仕事に必要になってきたときには、個別の解説書で詳細を学ぶことになるでしょう。
まずはプロとしてJavaScriptの仕事で必要な情報はどんなものか概観してみたい。そういう方におすすめします。
本物のオブジェクト指向をJavaScriptで実践する方法を解説し、高い評価を得てきた『Java開発者のためのAjax実践開発入門』が、最新のWeb開発事情に合わせ内容を全面刷新。90%以上書き直し、JavaScriptをオブジェクト指向で根底から学ぶトレーニング方法や、node.jsによるサーバサイドの開発、jQueryMobileによるスマートフォン対応など、仕事ですぐに役立つ技術解説を高密度に濃縮。