v6.0
2026年3月現行のJavaScript製コンパイラとしては最後の版で、Go言語で書き直された次の7.0への“橋渡し”。デフォルト設定の近代化と、古いオプションの非推奨化が中心です。
7.0(Go版)への橋渡しという位置づけ
TypeScript 6.0 は、現在のJavaScriptで書かれたコンパイラの最後のメジャー版です。次の 7.0 はGo言語で書き直され、ネイティブコードと並列処理によって大幅な高速化が予定されています。
そのため 6.0 の変更の多くは「7.0 へスムーズに移行するための地ならし」です。今から 6.0 の推奨設定に寄せておくと、7.0 への乗り換えが楽になります。
デフォルト設定の近代化
新規プロジェクトの既定値が現代的になりました。strict が既定で true、module は esnext、target は es2025、types は空配列(必要な型パッケージだけ明示的に指定)になります。
これにより「最初から厳しめ・モダンなESM前提」で書き始められます。既存プロジェクトはこれまでの tsconfig がそのまま効くので、影響は新規作成時が中心です。
// 6.0 では既定で strict・ESM・es2025 を前提にした構成になる
// (明示的に tsconfig.json で上書きも可能)
{
"compilerOptions": {
"strict": true,
"module": "esnext",
"target": "es2025"
}
}古いオプションの非推奨化
7.0 で削除される予定の古いオプションが 6.0 で非推奨になりました。例: target: es5、moduleResolution: node(nodenext や bundler へ)、outFile(外部バンドラを使う)、module: amd/umd/system など。
非推奨オプションは ignoreDeprecations: "6.0" を設定すれば 6.0 では引き続き動きますが、7.0 では動かなくなります。今のうちに新しい設定へ移行しておくのが安全です。
新しい言語機能・標準API対応
ES2025 をターゲットにでき、RegExp.escape・Promise.try・新しいイテレータメソッドなど最近のJS標準APIの型が使えます。
Map / WeakMap に getOrInsert / getOrInsertComputed が加わり「キーがあれば取得、なければ作って入れる」という頻出パターンを短く書けます。日時を扱う Temporal API の型定義も同梱されました。
// getOrInsert: あれば取得・なければ作って入れる
const counts = new Map<string, number[]>();
// 従来: has で確認 → なければ set → get、と手数が多かった
counts.getOrInsert("a", []).push(1);