「JavaScript本格入門」の改定新版を読みました

JavaScript本格入門」の改定新版を読みました。6年前の発売以来、3万部発行された書籍の改訂版とのことです。

このエントリーは、WINGSプロジェクトの「[改定新版] JavaScript本格入門」のレビュアーに応募し献本してもらいましたので、その書評となります。

aoki1210.hatenablog.jp

上記の過去エントリーでも改定前の書籍を紹介していますが、JavaScriptをしっかり学ぶ上で非常におすすめの一冊となっています。

というのも、JavaScript深く学ぼうとした場合、構文にしか触れていない入門書か、ディープすぎる分厚い専門書と両極端な書籍が多い状態でした。

この書籍の良いところは、基本的な構文なども含まれている上、実際に本格開発をする場合に必要な情報も含まれていることが挙げられます。 「本格入門」という言葉どおり、入門書と専門書の両方が取り込まれた、非常にバランスの良い本だと思います。

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで:書籍案内|技術評論社 にある目次を見てみるとわかりますが、基本構文、ブラウザの開発者ツール、ライブラリ、関数、スコープ、DOM、デバッグAjax、Promise、Web Worker、ユニットテスト(Jasmine)、ビルドツール(Grunt)、コーディング規約、といった幅広い内容を網羅しています。

↓書籍の目次(参考)

  • Chapter 1 イントロダクション
  • Chapter 2 基本的な書き方を身につける
    • 2.1 JavaScriptの基本的な記法
    • 2.2 変数/定数
    • 2.3 データ型
    • 2.4 演算子
    • 2.5 制御構文
  • Chapter 3 基本データを操作する - 組み込みオブジェクト -
    • 3.1 オブジェクトとは
    • 3.2 基本データを扱うためのオブジェクト
    • 3.3 値の集合を管理/操作する - Array/Map/Setオブジェクト -
    • 3.4 日付/時刻データを操作する - Dateオブジェクト -
    • 3.5 正規表現で文字を自在に操作する - RegExpオブジェクト -
    • 3.6 すべてのオブジェクトのひな形 - Objectオブジェクト -
    • 3.7 JavaScriptプログラムでよく利用する機能を提供する - Globalオブジェクト -
  • Chapter 4 くり返し利用するコードを1箇所にまとめる - 関数 -
    • 4.1 関数とは
    • 4.2 関数定義における4つの注意点
    • 4.3 変数はどの場所から参照できるか - スコープ -
    • 4.4 引数のさまざまな記法
    • 4.5 ES2015における引数の記法
    • 4.6 関数呼び出しと戻り値
    • 4.7 高度な関数のテーマ
  • Chapter 5 大規模開発でも通用する書き方を身につける - オブジェクト指向構文 -
  • Chapter 6 HTMLやXMLの文書を操作する - DOM(Document Object Model) -
    • 6.1 DOMの基本を押さえる
    • 6.2 クライアントサイドJavaScriptの前提知識
    • 6.3 属性値やテキストを取得/設定する
    • 6.4 フォーム要素にアクセスする
    • 6.5 ノードを追加/置換/削除する
    • 6.6 JavaScriptからスタイルシートを操作する
    • 6.7 より高度なイベント処理
  • Chapter 7 クライアントサイドJavaScript開発を極める
    • 7.1 ブラウザーオブジェクトで知っておきたい基本機能
    • 7.2 デバッグ情報を出力する - Consoleオブジェクト -
    • 7.3 ユーザーデータを保存する - Storageオブジェクト -
    • 7.4 サーバー連携でリッチなUIを実装する - Ajax -
    • 7.5 非同期処理を簡単に表現する - Promiseオブジェクト -
    • 7.6 バックグラウンドでJavaScriptのコードを実行する - Web Worker -
  • Chapter 8 現場で避けて通れない応用知識
    • 8.1 単体テスト - Jasmine -
    • 8.2 ドキュメンテーションコメントでコードの内容をわかりやすくする - JSDoc -
    • 8.3 ビルドツールで定型作業を自動化する - Grunt -
    • 8.4 今すぐECMAScript2015を実践活用したい - Babel -
    • 8.5 読みやすく保守しやすいコードを書く - コーディング規約 -

関数やオブジェクト指向の部分では、他の言語と異なる特徴をわかりやすく書いているため、JavaScriptの特性について理解しやすくなっています。また、最新のECMA Script2015にも対応したということで、最近の方向性についても理解できると思います。

最近のITエンジニアにとってJavaScriptは必須の知識となりつつありますが、この本は独学でも新人教育のような講義スタイルでも役立つ素敵な教材だと思います。