米Microsoftは、プログラミング言語TypeScriptの最新バージョン「TypeScript 5.4」のリリース候補「TypeScript 5.4 RC」を、2月22日(現地時間)に公開した。
TypeScript 5.4ではベータ版以降、列挙型の互換性に関する制限、列挙型メンバの命名に関する制限、マップされた型における動作の改善といった、注目すべき動作の変更点がリリースノートに反映されている。
TypeScript 5.4の新機能としては、パラメータとlet変数がホイストされていない関数で使用される場合、型チェッカは最後の代入ポイントを探し、見つかった場合は関数の外側から安全に型を絞り込めるようになった。また、新たなユーティリティ型となるNoInfer<T>が導入され、型推論の候補を見つけるために内部の型を掘り下げて照合しないよう指示できるようになっている。
さらに、JavaScriptにおける新たな静的メソッド宣言として、反復可能な要素と各要素をどのグループに配置するかを決定する関数を受け取るObject.groupBy、プレーンなオブジェクトの代わりにマップを生成するMap.groupByが追加された。また、module preserveを設定する際にrequire()が使用可能となり、moduleResolution bundlerと組み合わせることでBunなどのバンドラとランタイムが許可する内容と、モジュールルックアップをどのように実行するかをより正確にモデル化できるようになっている。
あわせて、インポート属性とアサーションがグローバルなImportAttributes型に対してチェックされるようになったほか、多すぎる引数で呼び出される関数に新しいパラメータを追加するためのクイックフィックスが行われるとともに、いくつかのオプションと動作が非推奨になるなど、数多くの機能追加・改善が行われた。
今回公開されたTypeScript 5.4 RCには、コンパイラの重大なバグが見つかった場合や、言語サービスのマイナーなバグ修正を除けば、ほとんど変更はないと予想されており、今後数週間以内にTypeScript 5.4の最初の安定バージョンがリリースされる予定となっている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です