JavaScript Primerを読んでみて

はじめに

JavaScriptという言語について、その言語仕様を理解を深めたくて学習しました。
筆者は基礎的なことやNode.jsについては他の書籍でも学習していたりするので、それなりに予備知識はありました。
そんな私が読んでみた感想、ということになるので、前提として理解いただければと思います。

ご紹介する書籍

以下のリンクから全て無料で閲覧できます。
後述しますが、このボリューム・質を無料で学習できるのはすごすぎます。
一応、書籍版も有料で販売されているのですが、Web版の方がコードをその場で実行できたり、何かと便利なので、Web版の方がおすすめです。
jsprimer.net
(著者に還元するためにも、出世したら有料版書籍を購入することを誓います...。)

本書の長所

導入&解説が丁寧

これまでいくつか入門書的なものは(他の言語や技術を含め)それなりに見てきましたが、本書が一番丁寧だと思います。
シンプルに説明が上手いというのもありますが、初心者が読み進めていく上で疑問に思いそうなところを先回りして例示してくれたりするところが親切ですね。

詳細な仕様にまで言及

表面的な基礎だけでなく、かなり深い裏側の仕様にまで踏み込んで解説しています。
例えばオブジェクトが呼び出すことのできるプロパティやメソッドは、継承元のオブジェクトに定義されているものも呼び出すことができます。
これがprototypeチェーンという仕組みによって実現されていることにまで丁寧に解説されています。

具体的な利用シーンの紹介

ただただJavaScriptの仕様を説明するだけでなく、それらの利用シーンも紹介してくれます。
例えば関数の定義は、function宣言、function式、Arrow Function式などがありますが、どういった時に使い分けるのが良いか、というところにまで踏み込んで解説してくれます。

Web上で例示コードを実行可能

随所に例示コードがあるのですが、これらのコードはWeb上でRunボタンクリックで実行できます。
さらに、そのコードは自分の手で一時的に編集することもでき、気になった変更を加えて実行結果を確認する、といったことまでWeb上で完結しちゃいます。

戸惑ったこと

正直、解説が非常に丁寧かつ手を動かしながら進めていったので、ほぼなかったです。
が、1点だけ。
最後のTodoAppを作成する内容があったのですが、そのコードの中でJS Docが始めて出てきました。
しかし、JS Docについてだけはなぜか説明なしでした。
@paramなど、「なんだコレは!?」と初心者なら思っちゃうだろうなと思います。
ここは少しだけ解説があっても良いんじゃないかと思いました。

ただ、上記のことが不自然だと思ってしまうくらい、その他についての解説が非常に丁寧ですので、まず安心して学習していけます。

まとめ

「基礎はできてるし、流し読みでいけるだろう」と高を括っていたのですが、かなり深い内容まで紹介されていたので、がっつり読み込んじゃいました。
TypeScriptが流行ってきていますし、私自身も学習していたのですが、TypeScriptでつまづくのはJavaScriptの理解が浅いことが原因、という話はよく聞きます。
この機会に、より深くJavaScriptを理解できたことはとてもよかったです。