ニュース

Microsoft、「TypeScript 4.0」を正式公開 ~“StackOverflow”で2番目に愛される言語に

“Variadic Tuple Types”や3つの新しい代入演算子をサポート

Microsoft公式ブログのアナウンス

 米Microsoftは8月20日(現地時間)、「TypeScript 4.0」を正式公開した。現在、「NuGet」や「npm」などのパッケージ管理システムから入手可能。「Visual Studio」やコードエディター向けの拡張機能・プラグインもリリースされている。

 「TypeScript」は、Microsoftが開発しているオープンソースのプログラミング言語。「JavaScript」に静的型付け機能などを追加したスーパーセットになっており、「JavaScript」が苦手としてきた大規模開発などの用途に適している。成果物は「JavaScript」へトランスパイル(変換)して実行する仕組みになっており、Webブラウザーや「Node.js」など、「JavaScript」をサポートする環境で広く利用できるのも魅力だ。開発者にはお馴染みのQAサイト“StackOverflow”では2番目に愛される言語となっているほか(1位は「Rust」)、“The State of JavaScript”の調査で約89%の開発者また利用したいと答えるなど、満足度も高い。

 最新版となる「TypeScript 4.0」には大きな変更はなく、2018年7月にリリースされた「TypeScript 3.0」以降の改善の集大成となっている。サンプルコードや学習リソースはそろっているので、「TypeScript」をはじめたいという入門者にとってはよい機会と言える。「TypeScript 3.0」以降の主な変更点は、以下の通り。

  • TypeScript 3.1:“Mapped types”機能をタプルや配列向けに拡張(Mapped Tuple Type)
  • TypeScript 3.2:安定性向上にフォーカス。“--strictBindCallApply”オプションによりbind、call、applyメソッドの型付けが厳密に
  • TypeScript 3.3:引き続き安定性向上にフォーカス。“--build”モードでファイルインクリメンタルビルドを追加
  • TypeScript 3.4:“readonly”関連の強化。“--incremental”フラグによるビルド時間の短縮
  • TypeScript 3.5/3.6:よりスマートな互換性チェックルールを加える
  • TypeScript 3.7:“Optional Chaining”と“Nullish Coalescing”に対応し、“foo?.bar()”や“let x = foo ?? bar”といった記述が可能に。“Assertion Functions”や“Recursive Type Aliases”もサポートされるなど、多くの改善が導入された注目すべきリリース
  • TypeScript 3.8/3.9:プライベートフィールド、モジュール内のトップレベルのアウェイト、新しいエクスポート構文などのECMAScript機能に加えて、型のみのインポート・エクスポートを導入。パフォーマンスとスケーラビリティも最適化される

 加えて「TypeScript 4.0」では“Variadic Tuple Types”や“Labeled Tuple Elements”、“catch”句における“unknown”、3つの新しい代入演算子(a && b、a || b、a ?? b)などがサポートされるほか、コードエディターの支援機能が強化されている。サポートしているエディターは「Visual Studio 2017」「Visual Studio 2019」および「Visual Studio Code Insider」。