TypeScript4.7が正式にリリースされました。
新機能の概要
- Node.jsでのECMAScriptモジュールのサポート
- モジュール検出制御
- 括弧内の要素アクセスの制御フロー分析
- オブジェクトとメソッドの機能的推論の改善
- インスタンス化された式
infer
型変数のextends
制約- タイプパラメータのオプションの分散アノテーション
- moduleSuffixesによる解像度のカスタマイズ
resolution-mode
- ソース定義に移動
- グループ対応の組織のインポート
- オブジェクトメソッドフラグメントが完了しました
- 重大な変更
ベータ版以降の新機能は何ですか?
開発チームは、ベータ版でのNode ESMサポートの安定した目標を発表しました。ただし、Node.js 12がメンテナンス中でなくなったことを考えると、次に進むときが来ました。これにより、Node.jsの新しいESモジュール機能(パターントレーラー)が提供されると同時に、TypeScriptがトップレベルの待機をサポートする上位のターゲットにデフォルト設定されます。node12
node16
ベータ版以降、構文はディレクティブに対して引き続き機能しますが、関係者はそれに関するフィードバックを受け取り、機能の要件と設計を再検討したいと考えています。TypeScriptのナイトリーバージョンでのみ実験的に利用可能です。resolution-mode
/// <reference types="..." />
import type
resolution-mode
import type
ベータ版の後、開発チームは#private
フィールドとのtypeof
API互換性の問題に気づきました。したがって、この機能はTypeScript4.7では表示されません。
このリリースには、ソース定義に移動するための新しいプレビューエディタコマンドも含まれています。通常の[定義に移動]コマンドを使用すると、実際のJavaScriptまたはTypeScriptソースではなく宣言ファイルが表示される場合に役立ちます。
ベータ版以降、より厳密な型パラメーター制約に関するルールや矢印関数の解析など、いくつかの重大な変更しかし、一見無害に見えるいくつかの変更により、JSX...スプレッドとテンプレート文字列で使用されるジェネリックスに関するより厳しいルールが導入されました。strictNullChecks
ソース定義に移動
TypeScript 4.7には、Go ToSourceDefinitionと呼ばれる新しい実験的なエディターコマンドのサポートが含まれています。Go To Definitionに似ていますが、宣言ファイルで結果を返すことはありません。代わりに、対応する実装ファイル(.jsファイルや.tsファイルなど)を見つけて、そこで定義を見つけようとします。これらのファイルは通常は非表示になっています。
この機能は通常、ファイル内の型宣言ではなく、ライブラリからインポートされた関数の実装を確認する必要がある場合に役立ちます。d.ts
オブジェクトメソッドスニペットの完了
TypeScriptは、オブジェクトメソッドのフラグメント補完を提供するようになりました。オブジェクトのメンバーを完了する場合、TypeScriptは、メソッド名の一般的な完了エントリと、完全なメソッド定義の個別の完了エントリを提供します。