無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

【書評】改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで( @yyamada ) 

今回もWINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
WINGSプロジェクトの皆様、著者の山田様ありがとうございます。
今回は表題の書籍を献本していただきましたので、こちらのレビューをさせていただきます。

要約

初心者には「JavaScriptの最初の必携の1冊」

現場でTypeScirtptで開発している人には「TypeScriptには導入されていた文法の機能が、現状のJavaScriptでどこまで扱えるようになっているかが把握できるリファレンスとしても使える書籍」

導入

こちらの書籍ですが、個人的にはかなり思い入れがあり、初版がJavaScriptを学んだ一番最初の書籍でした。

また、2016年(もう7年前?)にも第2版の際にもレビューをさせていただ、その際にも知識をアップデートできた認識でした。
dke-msy-node.hatenablog.com

そこから私もエンジニアのキャリアを7年重ねてきましたが、自分の原点ということもあり改めて今回の第3版についてレビューに参加させていただいております。

書き手の技術レベルを読み手も把握できた方が良いと思うのでm私のJavaScript(TypeScriptの経験を含む)の直近2-3年の経験は以下になります。

  • React/TypeScriptを用いて、toC向けの画面/管理を作成して、実際のサービス運用。
  • GraphQLをプロジェクトで導入し、Apolloなどを実践投入。
  • 他の書籍の書評を通して、個人開発でReact/Vue3/ReactNativeなどで簡単なアプリを作成。

書評

ここから書籍の具体的な内容の書評に入らせていただきます。
端的にいうと、事前知識がある程度ある前提の私のような人が読むと、「TypeScriptには導入されていた文法の機能が、現状のJavaScriptでどこまで扱えるようになっているかが把握できるリファレンスとしても使える書籍」という認識です。
もちろん、もう初学者の視点には戻れないですが、自分がJavaScript初学者の時の内容からさらにボリュームアップしていることも考えると、「JavaScriptの最初の必携の1冊」と言えると思います。

具体的に全部に目を通した中で気になった点の3つを紹介していきます。

  • ES2020、ES2021、ES2022の記法を追加された箇所にマークが付いていて、分かりやすい。(第2版と同様)
  • トレンドを押さえていて、現場的に必要な知識も含まれている。
  • 丁寧な説明により、初学者に説明するのに説明しやすい。

ES2020、ES2021、ES2022の記法を追加された箇所にマークが付いていて、分かりやすい。(第2版と同様)

bigint、数値セパレータ、&&=、||=、??=、??などが型や演算子があるんだなと知ることができました。
??などTypeScriptなどにもあるんですが、&&=、||=、??=なんてあるんですね。
www.typescriptlang.org
ES2022で導入されたクラスのプロパティ構文や静的イニシャライザ、プライベートメンバーなども把握できていなかったです。

トレンドを押さえていて、現場的に必要な知識も含まれている。

2版の時に比べてエディタでこうとあまり記載がなかった記憶なのですが、今回は最近の流行に合わせてVSCodeについてのTIPSがコラムに載っていたりしてより現場に即した感じで実務に近い人が書籍を書いていると思いました。
Chapter11でも現場で避けれて通れない知識として、Node.jsに加えて、JestやVite、ESlint、JSDocまで紹介していてJavaScript初心者がこれを読んだ時のとっかかりとしても使えそうな側面で記載されているのは新しく生まれてくるJavaScriptのエンジニアたちにも良い影響も与えるなと思っています。
記憶が正しければ、UTのFWは前回の書籍の記載はJestではなかった気がします(Jasmineだったはず?)し、前回はBabelが載っていて今回はViteが載ったと思うので、そこも流行を押さえていてとても良いと思います。
Viteは触ったことなかったので、勉強させていただきました。

丁寧な説明により、初学者に説明するのに説明しやすい。

JavaScriptの基礎的なトピックの説明もあり、図も活用されてわかりやすいので、プログラミング初心者(うちだと妻)に説明するにも理解してもらいやすい書籍になっています。
DOMのセレクタやイベントオブジェクトも表のに記載されて一覧で見れるのわかりやすいなと思っています。
また第2版にもあったかもしれませんが、ジェネレータやーPorxyオブジェクトなど、自分もあまり活用できていないかったトピックでも説明がわかりやすいなと思いました。

以上、簡単ではございますが書評のレビューとさせていただきます。

【追加トピック】この書籍の後に一歩進んで現場で必要な知識を学ぶための道標

書評からは少し外れるのですが、実際に現場で必要な知識として自分が参考にした書籍を並べていきます。
JavaScriptに関しては古い書籍も混ざるのですが、良い書籍ばかりです。
TypeScript、React/Next、Vueは最近の書籍でより参考になると思います。

JavaScript

次へのステップアップとして、関数型を学ぶという観点でここら辺の書籍はおすすめです。ES2015だったりそれより昔の内容になりますが、ベースの知識は変わらないのでおすすめです。

より上級者向けで、関数型を学ぶという観点でここら辺の書籍はおすすめです。難しい内容ですが、継続の話まで出ている珍しい書籍です。

ここら辺の書籍は少し前の書籍ですが、参考になる内容が多いです。Node.jsなどが流行った時期に一気に出版されたJavaScriptの書籍群ですね。

TypeScript

TypeScriptの特徴をサクッと押さえるのに使いました。構造的部分型のところなどをこの書籍でインプットできた思い出があります。今はちょっと古いかなと思います。
この書籍の後は現場で叩き上げで学びました。
レビューはこちらに記載しています。
dke-msy-node.hatenablog.com

React/Next

Reactの特徴をサクッと押さえるのに使いました。今はちょっと古いかなと思います。
レビューはこちらに記載しています。
dke-msy-node.hatenablog.com

現在、Reactを使うなら絶対に読んでおくべきです。
雰囲気でReactを使っている人は必読です。2版まで出ているので、2版の方を買うようにしましょう。Hooksの話を始め、関数型のエッセンスも前半に詰まっています。

Nextを使う際に参考にしました。

Vue

Vue3を押さえていて、とても参考になります。
レビューもこちらに記載しています。
dke-msy-node.hatenablog.com