絶対に読んでおきたい、JavaScriptのおすすめ書籍7冊

フロントエンドエンジニアにとって、JavaScriptは今や開発の中心にあると言ってもいいと思います。

JavaScriptに対していまいち自信のない人向けに、おすすめしたい本をまとめてみました。

これで、日本のJS界隈がもっと賑わって、仲間が増えると嬉しいです(今でもかなり賑やかですが)。

# 基礎

## JavaScript本格入門

[![JavaScript本格入門](http://ecx.images-amazon.com/images/I/512wo9i9iSL._SL160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/4774144665/axross-22/)

JavaScriptの本の中では一番易しいんじゃないかな、と思います。

これ以上に読者ターゲットのレベルを落とした本は、解説が不十分だったり、レシピ集のような側面が強かったりで、勉強には向いていません(網羅的でないということ)。

この本は解説のみで、深い仕様やテクニックには踏み込みません。それだけに読みやすく仕上がっていると思います。

この本でJavaScriptに興味をもつことができたら、よりディープな本に進んでみるといいと思います。

## パーフェクトJavaScript

[![パーフェクトJavaScript](http://ecx.images-amazon.com/images/I/51yrjFsf-2L._SL160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/477414813X/axross-22/)

「JavaScript本格入門」よりも、少しレベルの高い、同系統の本と思ってもらってかまいません。

プログラミング自体が初めての人がこの本をいきなり読むには、なかなか大変な思いをするでしょうが、「JavaScript本格入門」を読んだ後に進む先としてはバッチリです。買ったことを後悔させません。

## JavaScript 第6版

[![JavaScript 第6版](http://ecx.images-amazon.com/images/I/51c9uCrhHgL._SL160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/4873115736/axross-22/)

通称「サイ本」、JavaScriptのバイブルです。

とにかくページ数が多く、読みごたえがあります。上記の2つの本よりもさらに網羅的で、対象読者としてもプログラミング経験者を意識した説明になっています。

なかなか手を出しにくいかもしれませんが、JavaScriptを扱うフロントエンドエンジニアにとっては必読書です。ぜひ読んで下さい。

# 発展

## JavaScriptエンジニア 養成読本

[![JavaScriptエンジニア 養成読本](http://ecx.images-amazon.com/images/I/51FqxHiDfcL._AA160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/4774167975/axross-22/)

基礎は大事ですが、JavaScriptの言語仕様だけを学んでいても、大規模なアプリケーションの開発に役に立つことは少ないでしょう。

特に、Webフロントエンドの開発手法と開発手段は、進化の速い分野のひとつです。

JavaScriptがWebページを装飾するスクリプトに過ぎなかった頃もありました。しかしサナギから羽化した今、JavaScriptはWebページをコントロールするまでに至っています。JavaScriptを学ぶなら、JavaScriptの言語仕様だけに留まらず、よく使われるツールやライブラリ、フレームワークなどの周辺技術についても学ぶべきです。

そんなアプリケーション開発のためのノウハウを学ぶのにピッタリの1冊です。JavaScriptとフロントエンド開発をもっと好きになれるので、ぜひ読んでみてください。

## 開眼！ JavaScript

[![開眼！ JavaScript](http://ecx.images-amazon.com/images/I/51jMq3%2BDklL._SL160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/487311621X/axross-22/)

JavaScriptは手軽ながら、レキシカルスコープ、クロージャ、プロトタイプ、第一級関数など、少し理解が難しい要素が存在します。

この本は、そういった部分に焦点を絞り、丁寧に解説してくれています。あなたがJavaScriptの仕組みや、既存のコードの書かれ方に少なからず疑問を持っている点があれば、それを解決する本だといえるでしょう。

## サーバサイドJavaScript Node.js入門

[![サーバサイドJavaScript Node.js入門](http://ecx.images-amazon.com/images/I/51rRbOqWpqL._AA160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/4048703676/axross-22/)

Node.jsは、いまではフロントエンドエンジニアにとって避けることのできない、重要なものであるといえます。

gulpやGrunt、BrowserifyやWebpackだけではありません。いずれはサーバサイドJavaScriptのコードの一部を読み書きしなければならない時代が来るでしょう。また、想像もできないかもしれませんが、あなたが書いたクライアントサイド向けのJavaScriptを、Webサーバー上でも動かさなければならない時も来るでしょう。

今からでも遅くないので、少しでもNode.jsと仲良くしましょう。この本はそのための1冊です。

## リーダブルコード

[![リーダブルコード](http://ecx.images-amazon.com/images/I/51MgH8Jmr3L._AA160_.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/4873115655/axross-22/)

謝らないといけませんが、これはJavaScriptの本ではありません。  
しかし、「JavaScriptを書く」ということ考えた時に、どうしても薦めたかったので、無理やり入れてしまいました。

JavaScriptは動的型付けの言語であり、プロトタイプベースであるために、明確な「クラス」も存在しません。すべての関数がコンストラクタになりえます。そして、プリミティブな値と、nullやundefinedなどの特殊な値、FunctionやArrayなどのネイティブクラスを除けば、すべてが拡張された連想配列であると表現できます。これは自由な代わりに、あいまいさが強いとも言えます。

そうした時に重要になるのが、「より読解コストの低いコードを書けること」だと思います。ドキュメントを書けばいくらか誤魔化せますが、バグは前もってドキュメントに書くことはできません。何よりコードが読みやすいことが一番です。また、読解コストを意識されたコードは、自然とバグの少ないコードにもなります。

この1冊は、あなたのそうした意識を目醒めさせます。同僚を殺さないために、読んでみてください。