ニュース

Microsoft、「TypeScript 5.0」を正式公開 ~よりコンパクト、シンプル、高速に

ECMAScriptで採用が予定されている「デコレーター」に対応するなどの新機能も

Microsoft公式ブログのアナウンス

 米Microsoftは3月16日(現地時間)、「TypeScript 5.0」を正式公開した。2020年8月依頼のメジャーバージョンアップとなる。

 「TypeScript」は、Microsoftが開発しているオープンソースのプログラミング言語。「JavaScript」に静的型付け機能などを追加したスーパーセットで、「JavaScript」が苦手としてきた大規模開発などの用途に適している。成果物は「JavaScript」へトランスパイル(変換)して実行する仕組みになっており、Webブラウザーや「Node.js」など、「JavaScript」をサポートする環境で広く利用できるのも魅力だ。

 最新版となる「TypeScript 5.0」は多くの新機能を提供しつつも、よりコンパクトでシンプル、かつ高速に動作することを目指したリリースだ。新機能としては、ECMAScriptで採用が予定されている「デコレーター」などがある。

「TypeScript 4.9」と「TypeScript 5.0」のビルド時間の比較
「TypeScript 4.9」と「TypeScript 5.0」のパッケージサイズの比較

 「デコレーター」(Decorators)は、関数をラップする処理を簡単に記述するための仕組み。たとえばログを出力する処理(たとえば「loggedMethod」)をメインの処理から切り離し、その処理に装飾(「@loggedMethod」)することで呼び出せるようにする。これによりメインの処理が読みやすくなるほか、切り離した処理を再利用しやすくなる。

 「TypeScript」は以前から古い提案仕様をもとに「デコレーター」を実験サポートしてきたが、こちらのレガシーな仕様も当面の間維持される。

 そのほかにも、以下の機能が新たにサポートされた。

  • const Type Parameters
  • Supporting Multiple Configuration Files in extends
  • All enum s Are Union enum s
  • --moduleResolution bundler Resolution Customization Flags
  • --verbatimModuleSyntax Support for export type *
  • Passing Emit-Specific Flags Under --build
  • Case-Insensitive Import Sorting in Editors
  • Exhaustive switch / case Completions

 JSDoc機能も拡張され、satisfiesオペレーターやオーバーロードなどが利用できるようになった。

 一方で、注意すべき点もある。

 まず、ランタイム要件の変更だ。ターゲットが「ECMAScript 2018」となり、「Node.js」ユーザーの場合は少なくともv12.20以降を利用する必要がある。

 また、APIの破壊的変更も含まれる。「TypeScript 5.0」はECMAScriptモジュールへ移行しており、正確性を維持するために不要なインターフェイスがいくつか削除されている。そのほかにも多くの変更が加えられているので注意したい。