Microsoft、プログラミング言語「TypeScript 5.3」を公開:Switch(True)文で変数の型の絞り込みが容易に
Microsoftは、オープンソースのプログラミング言語の最新版「TypeScript 5.3」を公開した。
Microsoftは2023年11月20日(米国時間)、オープンソースのプログラミング言語の最新版「TypeScript 5.3」を公開した。TypeScriptは、静的型付けができる言語で、JavaScriptのスーパーセットだ。ECMA規格に従った最新のJavaScriptの機能を、古いWebブラウザやランタイムが扱えるようにコンパイルすることもできる。
TypeScript 5.3では、import文に属性を追加可能にする機能や、JSDoc解析をスキップする最適化など、さまざまな機能追加、改善により効率的にコードを記述できるとしている。
TypeScript 5.3は、NuGetかnpmコマンドでインストールできる。
npm install -D typescript
TypeScript 5.3の主な新機能
Import文で属性を追加可能に
特定のモジュールをどのように解釈すべきかランタイムに直接指定できるようになった。あるJSONファイルをインポートする際に単なるJSONデータであることを明示的にしたい場合、次のように属性を追加できるようになった。
// We only want this to be interpreted as JSON, // not a runnable/malicious JavaScript file with a `.json` extension. import obj from "./something.json" with { type: "json" };
これにより、./something.jsonはJSONファイルとして扱われるため、JavaScriptファイルとして実行されることはない。同機能はTypeScript 4.5で追加された型アサーションのインポートの進化版であり、import文でassertを使用している既存のコードは段階的にwithに移行させていくべきだと、Microsoftは述べている。
モジュールの読み込み形式を指定できるresolution-modeを改善
TypeScriptがモジュールをどのようにプロジェクトにインポートするかを指定するための属性であるresolution-modeが全てのモジュールで利用可能になった。開発者は特定のモジュールをimportかrequireのどちらでプロジェクトに読み込ませるか指定できるようになった。
Switch(True)を使用して変数の型の絞り込みが容易に
Switch(True)を使用して変数の型の絞り込みを容易に記述できるようになった。
function f(x: unknown) { switch (true) { case typeof x === "string": // 'x' is a 'string' here console.log(x.toUpperCase()); // falls through... case Array.isArray(x): // 'x' is a 'string | any[]' here. console.log(x.length); // falls through... default: // 'x' is 'unknown' here. // ... } }
JSDoc解析をスキップする最適化
tscコマンドを実行する際、コンパイラはJSDocの解析をスキップするようになった。コンパイル時間やメモリ使用量が減り、プロセス全体を効率化できる。
TypeScript 5.3では他にも以下のような機能の追加や最適化、改善が実施されている。
- ブール値の比較を用いた型の絞り込みに対応
- instanceof演算子を用いた型の絞り込みで、Symbol.hasInstanceが利用可能に
- 基底クラスのメソッドやプロパティにアクセスする「super」の振る舞いを改善
- 特定の型の定義を1クリックで確認できるインレイヒントの改善
- 型の自動インポートの設定を細かく制御できるように改善
- 合併型と交差型の比較を最適化
- tsserverlibrary.jsとtypescript.jsの統合によるパフォーマンス向上
Microsoftは、TypeScript 5.4の開発にも取り組んでおり、2024年2月末までに安定版を公開予定だと明らかにしている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「TypeScript」の案件が増えている ギークスが「ITフリーランス案件倍率レポート」を発表
ギークスは、2023年7〜9月の案件倍率をまとめた「ITフリーランス案件倍率レポート」を発表した。案件数は増加傾向が続いており、同社は「IT人材の確保は依然として難しい状況が続いている」と分析している。米国で開発者の給与が高いプログラミング言語トップ10 2位はRust、1位は?
開発者向け求人求職サイトのDevJobsScannerは、過去1年間にスクレイピングしたソフトウェア開発者向け求人情報を分析し、米国で開発者の給与が高いプログラミング言語のランキングを発表した。Microsoft、生成AI機能を追加した「Windows Terminal Canary」を公開
Microsoftは、生成AI機能である「Terminal Chat」を追加した「Windows Terminal Canary」を公開した。