『手を動かしながら学ぶ TypeScript』の感想
タグ:
素のJavaScript力はもちろん、TypeScriptやReactといったモダンなフロントエンドでは必須のスキルも伸ばしていくのが今年の目標です。そんなわけで、最近出た『手を動かしながら学ぶTypeScript』を読んでみました。
とても素晴らしい本です!
単なるTSの文法解説にとどまらず、実際のコードでの実践的な活用やコードの設計、リファクタリングの考え方なども含まれており、これを読めばTSを含むJS力全体をレベルアップさせることができるでしょう。
こんな人向け
- 他の静的型付け言語で型という概念に慣れており、かつJSも書けるが、TSは書いたことがない人
- TSの基本的な文法は知っているが、実際のプロジェクトでどのように使われているのかイマイチ想像できない人
良かったところ
「遅延評価勉強法」的サンプルアプリ作成が良い
本書ではコマンドラインで動作するゲームアプリ、ブラウザで動作するTODOアプリ、ReactのUIライブラリの3つのサンプルの作成を通して、TSへの理解を深めていきます。
冒頭でのTSの解説は最低限のもので、アプリの作成を進める中で必要になったらその都度紹介・解説していく、というスタイルです。必要になったとき初めてそれを学ぶ、というのは「遅延評価勉強法」みたいですね。
このスタイルはかなり理にかなっているなと思っていて、文法の解説をズラーと書かれているところを読んでも全然記憶に残らないんですよね。その点この書籍は「今はここの部分こう書いてるけど、こうできるといいよね」→「TSのこんな機能を使えばこう書けるよ」と教えてくれます。文法や機能についての「なぜ」「なにを」「どこに」「どんなとき」を理解しやすい・記憶しやすいです。
この点は他の参考書でも取り入れて欲しいなーと思います。
コードの設計やリファクタリングの考え方が参考になる
コードの設計や処理の切り出し方、リファクタリングの考え方など、TS以外の素のJSのコーディングでも参考になる部分がたくさんありました。参考書のサンプルコードとはいえ、現場の第一線で活躍している人たち(著者はSmartHRのエンジニアの方々)の考えや目の付け所を見られるのは、学びになりますね。TSだけでなく、素のJS力も上がってしまう一冊で二度おいしい本です!
迷いどころをフォローするTips
「interfaceと型エイリアスの違い・どちらを使うべきか」「列挙型はTSのコンセプトに合っていないから使うべきではない」など、初心者が迷いがちな箇所をフォローするTipsが紹介されているのも良かったです。独学勢は実際の現場を知らないので、こういった実践的な情報が得られるのは貴重です。
気になったところ
完全初心者向けの解説は少なめ
一応「TypeScriptとは何ぞや?」といったところも冒頭で解説されてはいるんですが、最低限といった感じです。サンプルアプリのセクションでもJSをある程度理解している前提で解説が進むので、JS・TS完全初心者の人が読むのは厳しいと思います。JSをある程度使いこなせて、かつTSの基本的な部分(TSとは何か・型とは何か・TSで型を付ける方法)を理解している人向きでしょう。
総評
素晴らしいTS本です。TS&JS力を伸ばした方に是非おすすめします。
「TypeScriptの勘所が身に付く1冊!」という表紙の煽り文句に偽りなし、でした。この本でTSの実践的なイメージが持てたら、もう少し詳しく文法解説している本にチャレンジしてみるのが良さそうですね。