ニュース

「TypeScript 6.0」ベータ版が公開 ~「Go」コンパイラーへの移行を控えv5系とv7系の橋渡しに徹したリリース

同社のアナウンス

 米Microsoftは2月11日(現地時間)、「TypeScript 6.0」のベータ版をリリースした。 「TypeScript」はさらなる高速化を図るため、「7.0」から「Go」言語で記述されたコンパイラーと言語サービスへ移行することが決定している。こうした大規模な変更を控えていることもあり、次期バージョンの「6.0」は「JavaScript」ベースの現行版「5.x」(Strada)と「Go」ベースの「7.0」(Project Corsa)との橋渡しに徹したバージョンとなる。「6.1」のリリースは予定されていない。

 それゆえ「TypeScript 6.0」は新機能が少なく、既存機能の改善、古い機能の非推奨化などがおもな変更となっている。

  • 「this」を用いないメソッド(文脈依存関数)で直観とは異なる推論が行われるケースを解消
  • 「Node.js」の新仕様に合わせ、「#/」から始まるサブパスインポートをサポート
  • 「--moduleResolution bundler」と「--module commonjs」の併用が可能に
  • 「--stableTypeOrdering」フラグを追加。「7.0」で導入される並列型チェックに合わせ型の並び順を決定的にするモード
  • 「ES2025」ターゲットの追加:「RegExp.escape」などの新しいAPIが使える
  • 近い将来JavaScriptに追加される見込みの「Temporal」型をサポート。日付と時間を扱う新しい標準API
  • 「Map」に「upsert」系メソッドを導入。キーが存在するか確認し、存在しない場合にデフォルト値を設定して取得する(getOrInsert)
  • DOMライブラリの整理
  • デフォルト設定の変更
     ►「strict: true」が既定に
     ►「module: esnext」が既定に
     ►「target」は最新 ES(現在は ES2025)が既定に
  • 非推奨となる機能・オプションなど
     ►「target: es5」
     ►「--downlevelIteration」
     ►「--moduleResolution node」(node10 相当)
     ►「amd」「umd」「systemjs」モジュール出力
     ►「--baseUrl」
     ►「--moduleResolution classic」
     ►「esModuleInterop: false」「allowSyntheticDefaultImports: false」
     ►「--alwaysStrict false」
     ►「--outFile」
     ►旧式の「module Foo {}」名前空間構文
     ►「import ... asserts {}」(「with」に置き換え)

 「6.0」で非推奨とされた項目は「7.0」で完全に削除される予定。警告が出る場合は、「7.0」がリリースされるまでに対処しておくべきだ。