型注釈と型推論から、ユニオン型・型の絞り込み・ジェネリクス・クラス・ユーティリティ型、そして非同期処理と DOM まで。全50レッスンで「実行する前に間違いが分かる」ところまで進みます。コードと tsc の出力は、すべて実際に動かしたものを載せています。
全50レッスンを7つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ ブラウザ内のエディタは型を取り除いて実行するだけなので、型エラーの実例は tsc の出力として載せています。
TypeScript が何を引き受けてくれるのかを、同じ処理を JavaScript と書き比べて掴みます。環境構築と tsconfig.json、型注釈と型推論、そして any を使わずに済ませる方法まで。
配列・オブジェクト・ユニオン型・交差型と、型に名前を付ける type と interface。「共通するものしか使えない」ユニオン型を、絞り込んで使えるようにするところまで進みます。
引数と戻り値、コールバック、オーバーロード。関数まわりの型を一通り扱います。型ガード関数とアサーション関数で、自分で書いた判定にも絞り込みを効かせます。
型を引数のように受け取って、渡した型がそのまま返る関数を書きます。keyof・typeof・インデックスアクセス型を組み合わせ、最後に型安全なストレージ関数を作ります。
プロパティの宣言・アクセス修飾子・継承・implements と、クラスまわりの型を扱います。型定義のない JavaScript を安全に使うための .d.ts と @types まで。
Partial・Pick・Omit・Record といった標準の型を使い、1 つの型から用途ごとの型を派生させます。後半はそれらが作られている仕組み(マップ型・条件型・infer)と satisfies です。
モジュール・非同期処理・fetch のレスポンス検証・エラー処理・DOM 操作。最後に ToDo アプリを組み立てて、型定義を 1 語変えたときに何が起きるかを確かめます。