t_wadaさんが提案するJavaScript速習コースを実際に履修してみた
はじめに
もう2ヶ月前の話なのですが、日本のTDD第一人者で、最近はpower-assert-jsの開発などJS界隈でも活躍されている@t_wadaさんが、Twitterでこんな提案をされていました。
『JavaScript: The Good Parts』と『WEB+DB PRESS Vol.87 第1特集』のあわせて250ページ未満でES6までの全体像をつかむ速習コースのご提案 http://t.co/doPQ7V4enw http://t.co/NKTGz3syk7
— Takuto Wada (@t_wada) 2015, 8月 10
ちょうどこの頃、初めてのgemを作り終え、Ruby以外の言語に対する学習欲が高まっていたので、この提案に乗っかってみることにしました。
本エントリでは、この速習コースを実際に履修した感想と、結果どうなったのかを書きたいと思います。
履修前の状態
ずっとRuby on Railsを使って開発してきたこともあり、JavaScriptは「とりあえず書ける」という状態でした。具体的には
- CoffeeScriptとjQueryを使って古き良きDOM Scriptingをやってきた
- 乱立するJavascriptフレームワークは決定版を見い出せず手をつけられずにいた
- React.jsだけは「良さそう!」と思い、勉強がてらマインスイーパみたいなのを作った
- ↑を作る過程でgulpやBabelの世界に触れ、そろそろちゃんと勉強しないとなーと思い始める
という感じでした。
各書籍の感想
JavaScript: The Good Parts

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
- 作者: Douglas Crockford,水野貴明
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/12/22
- メディア: 大型本
- 購入: 94人 クリック: 1,643回
- この商品を含むブログ (190件) を見る
ES5/ES6を軽く抑えてからから読んだ方がいい
発売日を見てもらうとわかるんですが、この本はES3時代に書かれた本です。 そのため、ES5/ES6における文法面での改善をある程度把握した上で読まないと、「昔はこんなに大変だった(けど今は解決している)」という部分に時間を持って行かれます。
…ということに途中で気付いたので、一旦ES5とES6について軽く抑えてから読むのを再開しました。 僕が参照したのは以下の2点です。
勉強になった点
個人的に「ここは良かった」と思った点は以下です。
- 関数呼び出しパターンによる
this
の違い(4章)- メソッド呼び出し
- 関数呼び出し
- コンストラクタ呼び出し
apply
呼び出し
- もし
new
演算子がメソッドとして実装されていたら(5章) - 良いスタイルとは(9章)
- 悪いパーツ(付録B)
function
文とfunction
式の比較- 変数型のラッパーオブジェクト
皮肉にも、"Good Parts"よりも"Bad Parts"の方がためになるという、、、
追記(2015/10/20)
今この本を読むのはオススメしないという意見をいくつか頂いたので、紹介しておきます。
t_wadaさんが提案するJavaScript速習コースを実際に履修してみた - WEB SALAD
- [javascript]
今 JS を勉強したいって人に Good Parts は勧めない。
2015/10/19 14:54
個人的には初学者が今JS Good Partsを読むのはノイズが多いのであまりオススメしないです。ES6 Good PartsはYAPCでやろうと試みたのですけど、力量&時間不足でした。 / “t_wadaさんが提案するJavaS…” http://t.co/NQoaS4CuhN
— Teppei Sato (@teppeis) 2015年10月19日
ノイズが多いという指摘はその通りで、僕は(前述のように)ES5とES6について軽く抑えてから読むことで上手く回避できたと思います。 ですが、そういう回避のテクニックが必要な時点で完全な初学者向けではないな、というのが個人的な感想です。
開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質の方が良いという意見もありました。
今の時代、Good Partsよりも開眼JS本の方がいいよ。 : t_wadaさんが提案するJavaScript速習コースを実際に履修してみた - WEB SALAD http://t.co/Ex23xbiPox
— 渋川よしき (@shibu_jp) 2015年10月19日
以上、このエントリを読んで「勉強しよう!」と思って頂いた方の参考になれば幸いです。
WEB+DB PRESS Vol.87 特集1

- 作者: 佐藤鉄平,小林明大,石村真吾,坂上卓史,上原誠,鳥居英,佐藤歩,泉水翔吾,うさみけんた,伊藤直也,高橋侑久,佐藤太一,hayajo,橋本翔,西尾泰和,中島聡,はまちや2,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2015/06/24
- メディア: 大型本
- この商品を含むブログ (2件) を見る
完成度が高い、すごい
この特集は30ページほどなんですが、主要な新機能について一通り触れられているほか、これらの機能を現時点でどう使っていくべきか、これからどうなっていくのか、という点についてコンパクトにまとめられており、ES6を抑えるにはこれで十分なのではと思いました。
ちなみに、読んでいる途中に「〜についてもう少し詳しく知りたい」となった場合にはJS.nextさんがオススメです。僕もお世話になりました。
勉強になった点
個人的に「ここは良かった」と思った点は以下です。
- モダンになった文法(3章)
- イテレータ
- タグ付きテンプレート
- 強化された標準ライブラリ(4章)
- Symbol
- Proxy
- 簡潔で柔軟な非同期処理(5章)
ES6は文法面での改善が(わかりやすいので)フィーチャーされがちな気がするんですが、それ以外の部分、特にbuilt-in symbolsとIterator
の関係とか、Promise
とGenerator
を使って非同期処理を記述する、といった点は読んでておおーってなりました。
全体を通じて
冒頭で紹介した@t_wadaさんのツイートにもあるように、この速習コースはページ数にして250ページ未満と、とてもコンパクトにまとまっています。
が、JavaScript: The Good Partsの「はじめに」にも書かれているように、その分自分で調べないといけないことも多いので、軽い気持ちで読み始めると痛い目に遭います\(^o^)/
なお本書はリファレンス本ではない。本書はこの言語の風変わりな特徴のすべてを網羅して解説しているわけではない。そういう意味で、本書にはあなたが知る必要のあることすべてが書かれてはいない。しかしそうしたものはオンラインで簡単に見つけることができる。代わりに本書では、本当に重要なことだけに触れるようにしている。
履修後の状態
- JavaScriptの曖昧だった部分への理解が深まり、なんとなく書ける状態から脱せた
- ES6の話についていけるようになった
- ES7(特にasync/await)への興味が高まり、関連エントリを読み漁るようになった
次は何するの?
これまた今更感があるのですが、次はNode.jsの勉強をしようと思っています。
先月io.jsと統合してバージョン4.0.0が出ましたし、出遅れ組が勉強を始めるにはいいタイミングなのかな、と信じてます(涙目)