TypeScript 4.0 発表
(devblogs.microsoft.com)- Variadic* Tuple Type をサポート
→ Generic 型のスプレッドが可能
→ ... 演算子を途中にも置ける。
-
Tuple にラベルをサポート
-
&&=,||=,??=演算子を追加 -
catch の型を unknown または any に指定可能
→ unknown にすると、処理前に typeof/instanceof などで型チェックを必ず行う必要があることを明示するもの
-
JSX 使用時に
jsxFragmentFactoryでユーザー定義可能 -
コンストラクターからプロパティ型の推論が可能
-
--noEmitOnErrorオプション使用時でも以前のコンパイル結果をキャッシュしてビルド速度を改善 -
-incrementalと--noEmitオプションを一緒に使用可能
エディタ改善 (Visual Studio Code)
-
Optional Chaining & Nullish Coalescing の自動変換機能
-
/** @deprecated */をサポート -
起動時の Partial Semantic Mode をサポート - 大規模プロジェクトのロード時にかかる時間を減らすため、開いている一部のコードファイルにのみ適用される軽量サーバーを実行すること
-
より賢い Auto-Import 機能
Breaking Changes
lib.d.tsの DOM 関連型を変更
→ document.origin を削除し、self.origin の使用を推奨
-
親クラスの getter/setter を override すると常にエラー表示
-
strictNullChecks 状態のとき、delete の被演算子は any、unknown、never、または optional である必要がある
- Variadic : 固定されていない数の引数を受け取ることを意味。例) printf の引数
1件のコメント
3.0のときほど大きな変化はありません
→ そのため、まだTypeScriptを使ったことがないなら今こそ最適なタイミング! という宣伝文句が記事の前半に書かれています。
Stack Overflowの開発者アンケートでも、好まれる言語でRustに次ぐ2位です。