米Microsoftは、プログラミング言語「TypeScript 4.0」を、8月20日(現地時間)にリリースした。
「TypeScript 4.0」におけるおもな変更点としては、タプル型構文において操作している実際の型がわからない場合でも、タプルと配列の高次操作を表すことが可能になったほか、残りの要素がタプルのどこにでも発生するようになった。また、タプル型がラベルを提供できるようになっている。
さらに、noImplicitAnyが有効になっている場合に、制御フロー分析を使用してクラスのプロパティのタイプ決定が可能になったほか、ECMAScriptの代入演算子&&=、||=、??=のサポート、unknownによるcatch句の変数タイプの指定、jsxFragmentFactoryオプションを使用したフラグメントファクトリのカスタマイズ、--noEmitOnErrorを用いた再コンパイル時の速度向上、--incrementalを用いたコンパイル時の--noEmitフラグの使用、エディタの改善といった変更が行われた。
なお、重大な変更点としては、lib.d.tsにおけるDOM型において、旧バージョンのInternet Explorerのみで動作する機能が削除されたほか、従来はuseDefineForClassFieldsを使用する際、プロパティがアクセサをオーバーライドしたり、アクセサがプロパティをオーバーライドするとエラーになったが、基本クラスのゲッターやセッターをオーバーライドする派生クラスのプロパティを宣言すると、常にエラーを発行するように変更されている。
ほかにも、strictNullChecksでdeleteオペレータを使用する際に、オペランドとしてany、unknown、neverが必須となった(undefined型を使用する方法もある)。また、新たなノードファクトリAPIが提供されるようになったため、これまで提供されていたASTノードを作成するためのファクトリ関数は非推奨となっている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です