JavaScript を書いたことがある方、または Java か C# を知っている方を対象にした TypeScript の学習資料です。プログラミングの基礎(変数・条件分岐・繰り返し・関数・クラス)は説明しません。
ゴールは型の付いた .ts を自分で書き、tsc が出すエラーを自力で読み解いて直せるようになることです。上から順に読んでも、必要な章だけ引いても使えます。
01〜12 は順に読む前提です。A1〜A4 は必要になったときに引くもので、順番に読む必要はありません。どこから手を付けるか迷ったら A1. 逆引き から入ってください。
TypeScript は同じコードでも設定と実行環境で結果が変わります。差がある箇所だけ、その場でバッジを付けています。
| バッジ | 意味 |
|---|---|
| strict | tsconfig.json の strict: true のときだけエラーになる、または挙動が変わる |
| ESMCJS | モジュール形式によって書き方が変わる |
| Node型ストリップ | Node が .ts を直接実行する場合の制約 |
| TS7 | TypeScript 7 と 5 系で挙動が違う箇所。移行時の注意点 |
| (なし) | どの環境でも同じ。大半の内容にはバッジが付きません |
本文は JavaScript を知っている読者を基準に書いています。Java・C# の経験者がつまずきやすい箇所には、この見出しの枠を添えました。JavaScript 経験者は読み飛ばして構いません。
補うのは静的型付け言語との差分だけです。
「変数とは」「クラスとは」といったプログラミングの基礎は扱いません。逆に、Java・C# の経験がかえって邪魔をする箇所(構造的型付け、型が実行時に消えること、ジェネリクスの扱い)には必ず枠を置いています。
| 項目 | 前提 |
|---|---|
| TypeScript | 5.x 以降。バージョン番号は、差が問題になる箇所にだけ書いています |
| Node.js | 26 系を対象にしています。.ts の直接実行(型ストリップ)が既定で有効なバージョンです |
| 実行方法 | コード例は npx tsx ファイル名.ts でそのまま動きます |
.ts の文字コード | UTF-8(BOM なし)+ LF |
| エラーメッセージ | 既定の英語をそのまま載せ、日本語訳を添えています(訳は tsc --locale ja の出力に準拠) |
| 動作確認環境 | Node.js 26.8.1 / npm 11.19.0 / TypeScript 7.0.2 と 5.9.3 の両方(エラーメッセージ・出力とも差はありませんでした) |
| 範囲 | 位置づけ |
|---|---|
| 01 → 02 → 03 | 順番必須。環境が整わないと以降のコードを動かせません |
| 04・05 | 核心。ここだけは飛ばさないでください |
| 06 〜 09 | 05 の内容に依存します。順に読むのが確実です |
| 10・11 | 独立性が高く、必要な順に読んで構いません |
| 12 | 09 まで終わっていれば着手できます |
山場は 05 と 08 です。
05. 構造的型付けは Java・C# 経験者が、08. 型の絞り込みは JavaScript 経験者が最もつまずく箇所です。読者によって難所が違うため、どちらも時間を取って読んでください。
| 状況 | 引く先 |
|---|---|
tsc のエラーの意味が分からない | A1. 逆引き(エラー番号から) |
| こういう型を書きたい | A2. 型レシピ集 |
| こういう処理を書きたい | A3. 実務パターン集 |
| ライブラリの型定義が読めない | A4. 型レベルプログラミング |
環境が動かない・import が解決できない | 03. tsconfig / 10. モジュールと宣言ファイル |
| 回 | 範囲 | ねらい |
|---|---|---|
| 第1回 | 01〜03 | 環境を動かす。全員が tsc の通る状態を作る |
| 第2回 | 04〜06 | 型を書く。any に逃げない習慣をつける |
| 第3回 | 07〜08 | 絞り込みと網羅性チェック |
| 第4回 | 09〜11 | ジェネリクスとモジュール |
| 第5回 | 12 | ハンズオン |
第1回の冒頭で環境構築に時間を使わないよう、次の3点を必ず済ませてから参加してください。
npx tsx --version が通る状態にしておく.ts を開き、型エラーが波線で表示されることを確認しておくLightSpeedC https://lightspeedc.com
対象読者の想定、章立ての意図、執筆の方針は ZZ. 資料の構成 にまとめています。