2022年08月13日
プログラミング教本レビューシリーズ。今回は『手を動かしながら学ぶ TypeScript』にについて。
本書では「JavaScript 開発の経験はあるが、TypeScript についてはこれから学ぼうと思っている」という方を対象に、次のように本書の前半部分ではTypeScriptの基礎を解説し、それ以降では「実際に動くものを作ってみる」という内容となっています。
・TypeScriptの概要
・基本的なシンタックス
・Node.jsで動くアプリケーションを作ってみよう
・ブラウザで動くアプリケーションを作ってみよう
・React の UIライブラリを作ってみよう
本書を1冊通して学習することで「TypeScriptの勘所」を身に付けることができます。ご自身でコードを書いていく中で、驚くほどTypeScriptが手に馴染んでいく感覚をぜひ味わってみてください。
普段動的型付け言語で開発を行っているような方にとっては、はじめのうちはTypeScriptの「型システム」は余計なシンタックスが増えただけのような感覚に陥るかもしれません。しかし、本書を一通りやりきるころには、アプリケーション開発において最早それが手放せないものに感じられてくるはずです。
ブログを運営するにあたってTypeScriptの必要性を感じはじめたから、という理由がある。
メインで運営しているプログラミングブログはNuxt.jsの2系で作っている。
だが、どうもそろそろNuxt3がリリースされるらしい。
さらにNuxt3ではTypeScripptがベースになっているとのことで、いよいよTypeScriptを避けては通れないと感じてきている。
というわけで入門編として、この書籍を購入した。
結論から言って、かなりの良本だったと感じた。
以下、簡単によかったと思った点についてまとめる。
タイトルに「手を動かしながら学べる」とある通り、実際に手を動かしながら、非常に楽しく進めることができた。
プログラミングの教本では、理論的な解説が大半を占め、最後にちょっとしたチュートリアルがある、という構成が多いように思う。
しかし、本書は理論的な解説は序盤にまとめ、7割程度をチュートリアルに割いているという贅沢な構成。
300ページ弱の分量で、コンソールゲームhit and blow
の制作、Trello風のドラッグアンドドロップが可能なTodoアプリ、React UIの制作という3つのチュートリアルを楽しめる。
内容自体もさることながら、例えば関数をどのように分割していくか、どうコードの保守性を高めていくか、などの実際に開発を行う際に抑えるべきポイントを丁寧に解説をしている点もグッド。
サンプルコードにポップカルチャー的な要素があるのが良い。
type Member = 'john' | 'paul' | 'george' | 'ringo'
type Band = {
[key in Member]: { part: string }
}
/* Band型は次のような型を宣言しているのと同じ
type Band = {
'john': { part: 'guitar' },
'paul': { part: 'base' },
'george': { part: 'guitar' },
'ringo': { part: 'drums' }
}
*/
これは完全に自分の好みだが、よくある、taro
、jiro
...という例文よりも気分がノッてくるのを感じた。
ここについては特になし。
強いて言えば、フロントエンド開発の知識がゼロベースだと挫折する可能性が高いので、そういった面から低評価をされてしまう可能性はある。
とはいえ、冒頭の対象読者について
でしっかりとその旨を説明している。
本書は、HTMLやCSS, JavaScriptなどの基本知識や、ある程度のフロントエンドの開発経験がある読者を対象にしています。それらの基礎知識については説明を割愛していますので、あらかじめご了承ください。
ある程度のフロントエンド開発の経験が必要、と書いてあるが、身構える必要はなくて、とりあえずJavaScriptを触ったことがある、くらいの感じだとしても、スムーズに読み進められるんじゃないかと思う。
非常に楽しみながらTypeScriptに入門をすることができる良本だった。