プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方までの表紙

プロを目指す人のための TypeScript 入門 安全なコードの書き方から高度な型の使い方まで(プロヲメザスヒトノタメノタイプスクリプトニュウモン アンゼンナコードノカキカタカラコウドナカタノツカイカタマデ)

プログラミング
著者:
鈴木 僚太(スズキ リョウタ)
出版社:
技術評論社
出版日:
2022年04月22日頃
ISBN:
9784297127473
在庫:
在庫あり
4.43(8 件 / 楽天ブックス)
中級者向け
JavaScriptTypeScript静的型付け型システムリテラル型ユニオン型keyof 型プログラミングコード安全性型安全

なぜ注目されているか

総合81 10 ランクダウン 31 件の言及
言及数
123
出版前出版日05920222023202420252026

書籍紹介

TypeScript は、 JavaScript に静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では、根幹となる JavaScript の仕様・機能とともに、 TypeScript 独自の仕様・機能を解説します。 TypeScript の基礎知識はこれ一冊だけで学べます。
静的型付き言語は世にいくつもありますが、 TypeScript の型システムは他に類を見ない高い表現力を持っています。本書の読者が、型の有効性を理解し TypeScript らしいコードを書けるようになるために、本書では、プログラムの安全性を高める基本的な型の扱い方から、 TypeScript の「高い表現力」の源となっているリテラル型・ユニオン型・ keyof 型の扱い方まで幅広く取り上げます。また、わかりにくい機能や型安全を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえたうえで最善の扱い方を説明します。

章ごとに力試し問題を用意しており、理解の度合いを確認しながら学習を進められます。

技書の森解説

TypeScript を「 JavaScript に型注釈を足しただけのもの」として雰囲気で書いている段階から、型システムを理解して使いこなす段階へ引き上げる。それが『プロを目指す人のための TypeScript 入門』です。著者は鈴木僚太氏。 2013 年から TypeScript を使い続け、本書発行当時は LINE 株式会社のフロントエンドエンジニアとして自社開発に携わりながら技術顧問なども務めた人物で、専門は TypeScript と React です。技術評論社の Software Design plus シリーズの一冊として 2022 年 4 月に刊行された 424 ページの本格入門書で、副題は「安全なコードの書き方から高度な型の使い方まで」。表紙にちなんだ「ブルーベリー本」という通称でも広く知られています。

JavaScript の知識を前提にしない対象設定

この本の設計でまず特徴的なのは対象読者の置き方です。版元公式が挙げる想定読者は「 JavaScript の知識はないが、 TypeScript を学び始めたい人」で、他のプログラミング言語の経験がある程度のレベルを想定しています。 JavaScript を先に学んでから TypeScript へ進む二段構えではなく、根幹となる JavaScript の仕様・機能と TypeScript 独自の仕様・機能を一体で解説し、 TypeScript の基礎知識はこれ一冊で完結するように書かれています。すでに JavaScript を書いている人にとっても、あいまいに覚えていた言語仕様を型の視点から締め直す読み方ができます。

全 9 章の構成と力試し問題

全 9 章で、イントロダクション、基本的な文法と基本的な型、オブジェクト、関数、クラス、高度な型、モジュールシステム、非同期処理、コンパイラオプションへと進みます。プログラムの安全性を高める基本的な型の扱いから、 TypeScript の表現力の源であるリテラル型・ユニオン型・ keyof 型までを幅広く取り上げ、分かりにくい機能や 型安全 を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえて最善の扱い方を説明する方針が明言されています。章ごとに力試し問題が付いており、読みっぱなしにならず理解を確かめながら進められる作りです。

型システムという主戦場の技術背景

TypeScript の型システムが他の静的型付き言語と一線を画すのは、動的言語である JavaScript の柔軟な書き方を後付けの型で正確に表現するために発達してきた点です。文字列や数値そのものを型にするリテラル型、複数の型のいずれかを表すユニオン型、オブジェクトのキー集合を型として取り出す keyof 型という道具立ては、まさにその目的のために磨かれてきました。しかも型情報はコンパイル時に消え、実行時の挙動はあくまで JavaScript のままです。だからこそ「型が何を保証し、何を保証しないのか」を理解しているかどうかでコードの安全性は大きく変わり、 any や型アサーションのような抜け道をどう律するかも含めて言語仕様として正面から解説する本書のアプローチが効いてきます。

向かない読者と刊行時点の注意

一方、 React や Node.js を使った開発の実践パターンを手早く知りたい人には、章立てのとおり言語そのものに集中した本書は遠回りに見えるはずで、フレームワーク側は別の資料で補う前提になります。プログラミング自体が初めての人にも、他言語経験を想定した進行はハードルが高めです。また 2022 年 4 月刊行時点の言語仕様に基づくため、それ以降に言語へ追加された機能は範囲外ですが、本書が主戦場とする型システムの考え方は言語の土台にあたる部分で、賞味期限の長い知識 です。

型エラーの意味を自力で読み解けるようになりたい人、コードレビューで「なぜこの型設計なのか」を語れるようになりたい人にとって、雰囲気の理解を言語仕様の理解へ置き換えてくれる本書は、 TypeScript を書く年月が長くなるほど回収の大きい一冊です。

言及 Qiita 記事 (20 件)

言及 Zenn 記事 (2 件)

この本に興味がある方におすすめ

この本に関連

関連記事

関連用語

共有:Xはてブ