初めての TypeScript
ハジメテノタイプスクリプト
型安全な JavaScript で Web 開発を加速する
- 著者:
- Josh Goldberg / 今村 謙士 / 原 隆文(ジョシュ ゴールドバーグ / イマムラ ケンジ / ハラ タカフミ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2023年06月16日
- ISBN:
- 9784814400362
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
急速に普及が進んでいる TypeScript の入門書!
TypeScript の本格的な入門書。TypeScript は、世界で最もよく使われ、かつ最も好まれているプログラミング言語の 1 つです。本書では、JavaScript の基礎的な知識のあるプログラマーを対象に、「型」や「型システム」の基本から、明快かつ包括的に TypeScript を解説します。TypeScript はバグやタイプミスを防ぎ、コードを読みやすくするのに有用なだけでなく、JavaScript がどのように動くべきかを宣言し、それを維持するのに役立つ優れたシステムです。読者は本書を読むことで、TypeScript の基礎と最も重要な機能をマスターできるでしょう。
技書の森解説
『初めての TypeScript』 (Josh Goldberg 著、今村謙士 監訳、原隆文 訳、オライリー・ジャパン、2023 年 6 月刊) は、JavaScript の基礎的な知識のあるプログラマーに向けて、型と型システムの基本から TypeScript を解説する入門書です。副題は「型安全な JavaScript で Web 開発を加速する」、原書は Learning TypeScript です。版元は本書を「TypeScript の本格的な入門書」と紹介し、TypeScript はバグやタイプミスを防いでコードを読みやすくするだけでなく、JavaScript がどのように動くべきかを宣言し、それを維持するのに役立つシステムだと説明しています。JavaScript は書けるものの、型の付いたコードを読むたびに記法の意味で立ち止まってしまう人が、仕組みから順に理解するための一冊です。
全 4 部 15 章、TypeScript への移行から型演算まで
第 I 部「TypeScript の概念」は 1 章「JavaScript から TypeScript へ」から 4 章「オブジェクト」までで、1 章は JavaScript の歴史とバニラ JavaScript の欠陥から入り、TypeScript Playground とローカル環境での始め方、「TypeScript に対する誤解」を扱います。2 章「型システム」で割り当て可能性と型アノテーションを、3 章「合併型とリテラル型」で型の絞り込み、厳格な null チェック、型エイリアスを、4 章で構造的型付けやタグ付き合併型、交差型を取り上げます。第 II 部「TypeScript の機能」は 5 章「関数」から 10 章「ジェネリック」までで、配列とタプル、インターフェース、クラス、unknown や型述語、keyof、型アサーションを扱う 9 章「型修飾子」を経て、10 章でジェネリック関数やジェネリッククラス、制約付きジェネリック型、Promise と async 関数、「ジェネリックの黄金律」に進みます。第 III 部「TypeScript の使用」は 11 章「宣言ファイル」、12 章「IDE 機能の使用」、13 章「構成オプション」、第 IV 部「課外講義」は 14 章「構文の拡張」と 15 章「型演算」で、15 章はマップ型、条件型、never、テンプレートリテラル型を扱い、「型演算と複雑さ」の節を置いています。巻末には用語集と索引があります。
合併型と構造的型付け、JavaScript の書き方に寄り添う型の考え方
TypeScript の型は実行前の検査のためにあり、コンパイルの後の JavaScript には残りません。また型の仕組みは、JavaScript で普段書いているコードの形をそのまま説明できるように作られています。値が文字列か数値のどちらかであれば合併型で書き、typeof の条件分岐を通った先では、コンパイラーが分岐の内容から型を自動で狭めます。この ナローイング の仕組みを理解すると、型注釈をあちこちに書き足さなくても安全なコードになる理由が分かります。オブジェクトの型も、名前ではなく持っているプロパティの形で互換性を判断する構造的型付けで、JavaScript のオブジェクトの使い方と相性がよい設計です。null や undefined になりうる値を型で区別する null 安全性 も、実行時のエラーを減らすうえで効果の大きい仕組みの一つです。本書の 3 章には「厳格な null チェック」の節があり、その最初の項の題は「10 億ドルの過ち」です。
宣言ファイルと構成オプション、実務へ持ち込む前の確認点
第 III 部は、型の文法を覚えたあとに実際のプロジェクトで TypeScript を使うための部です。11 章は宣言ファイル (.d.ts) とパッケージの型、DefinitelyTyped を、13 章は tsc のオプションと TSConfig ファイル、strict モード、モジュールの解決、allowJs と checkJs による JavaScript ファイルの扱い、プロジェクト参照を取り上げます。既存の JavaScript のコードに少しずつ型を入れていきたい人には、この部が実務との橋渡しになります。注意したいのは 14 章の 14.2 節で、題は「実験的なデコレーター」です。TypeScript 5.0 の公開告知 (2023 年 3 月 16 日) は、新しいデコレーターの標準を実装したこと、従来のデコレーターには --experimentalDecorators のフラグが必要だったこと、このフラグは当面残ることを説明しています。デコレーターを使うコードを書く場合は、本書の説明と公式の資料を合わせて確かめると安全です。原著の公式サイト learningtypescript.com には、原著の章の番号と題に対応した演習用のプロジェクトが掲載されており、読んだ内容を手を動かして確かめる場として使えます。
本書は JavaScript の基礎を前提にしているため、変数や関数、オブジェクトの扱いから学びたい人は、先に JavaScript の入門書を一冊通しておくほうが進みやすくなります。また目次に React などのフレームワークを主題にした章はなく、目次で JSX が出てくるのは 13 章の 13.4.1 項「JSX 構文」だけです。フレームワークと組み合わせた開発の手順を学びたい場合は、JavaScript と TypeScript の本の選び方 を参考に別の本を組み合わせてください。型エラーの意味が分からないまま any で逃げてしまっている人や、チームで TypeScript を導入する前に型システムの考え方をそろえておきたい人にとって、合併型、ジェネリック、宣言ファイル、型演算を一つの流れで学べる本書は、日々のコードの読み書きにすぐ返ってくる一冊です。
言及した記事 (4 件)
この本に興味がある方におすすめ
関連する本
関連記事
JavaScript / TypeScript 本ガイド - 入門から型で守る実務コードまで
JavaScript と TypeScript を 1 本の学習ルートとして捉えた技術書の選び方。JavaScript の入門書、言語の背骨を通す体系書、TypeScript の型システムを設計の武器にする本、React/Next.js の実践書まで 2026 年 8 月時点の定番で案内します。
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。
関連用語
JavaScript
Web ブラウザーで動作する言語として生まれ、今やサーバーやアプリ開発まで担う汎用言語
代数的データ型
直和型と直積型を組み合わせてデータを表現する型システムの概念
不透明型
型の内部構造を隠蔽し、モジュール外部からの直接操作を防ぐカプセル化テクニック
Null 安全性
null 参照エラーを型システムで防止し、null の可能性がある値を明示的に扱うプログラミング言語の機能
Option / Result 型
null や例外の代わりに、値の有無やエラーを型で表現する関数型プログラミングのパターン
TypeScript
JavaScript に型を書く手段を足した言語。構造的型付け、型が実行時に残らない仕組み、消せない構文と型定義ファイルの扱いを解説