Pages

Sunday, August 2, 2020

Performance, Promise, Errorが改善されたTypeScript 3.9 - InfoQ Japan

原文(投稿日:2020/05/31)へのリンク

TypeScriptチームはTypeScript 3.9のリリースを発表した。これには、Promise.allによる推論の改善、コンパイラーのチェック速度、@ts-expect-errorコメント、TypeScript 4.0メジャーバージョン前の最終となる他が含まれる。

TypeScript 3.9は、Promise.allおよびPromise.raceに対するTypeScript 3.7の更新された型宣言によって導入された問題を修正する。TypeScriptチームは、JavaScriptでアンラップするPromiseを正確にモデル化するために、新しいawaitedを含めることを望んでいた。TypeScriptチームのプログラムマネージャーであるDaniel Rosenwasser氏が説明する:

私たちは当初、TypeScript 3.9でawaitedが出荷されるのを予想していましたが、既存のコードベースで初期のTypeScriptビルドを実行していたため、この機能をすべての人にスムーズに展開するには、機能をさらに設計する必要があることに気付きました。そのため、自信がつくまで、この機能をメインブランチから削除することにしました。この機能についてはさらに実験を行いますが、このリリースの一部として出荷することはありません。

TypeScript 3.9リリースでは、material-uistyled-componentsなどのパッケージにあるパターンのコンパイラ速度も向上している。この改善は、大きな共用体、共通部分、条件付き、マップされた型を含むコードパスを最適化することから生じている。

Visual Studio Codeチームからのフィードバックに基づくと、大規模なプロジェクトの場合、ファイルの名前を変更してすべての関連するインポートステートメントを更新するには5〜10秒かかる。TypeScript 3.9では、ファイルルックアップ用のコンパイラと言語サービスキャッシュの内部が変更され、この時間を大幅に短縮した。

TypeScriptを使用してテストを作成する際の1つの課題は、意図的にエラーが予測されるコードのブロックを作成することであった。これまで開発者は@ts-ignoreコメントを使用して、コンパイラが関連するコードブロックで失敗しないようにする必要があった。TypeScript 3.9では、@ts-expect-errorコメントが導入され、コードのブロックでエラーが発生することを予測させるだけでなく、コメント化されたコードのブロックでエラーが発生しない場合にはコンパイラーが警告する。

TypeScript 3.9リリースには、その他多数のマイナーな追加、バグ修正、およびエディターエクスペリエンスの改善が含まれている。これらの改善の一部として、いくつかの重大な変更が追加された:

  • optionalの連鎖とnon-nullのアサーションの差異解析
  • }>をJSX/TSXテキスト文字として無効に
  • intersectionとoptionalのプロパティのより厳密なチェック
  • discriminantプロパティによるintersectionの削減
  • ゲッター/セッターの列挙をできなくした
  • anyを拡張した型パラメーターは、もはやanyのようには機能しない
  • export *は常に保持される

これらの重大な変更の詳細については、TypeScript 3.9リリースを参照すること。

TypeScript 4.0の作業はすでに進行中で、2020年8月に予定されている。TypeScript4.0のリリース目標には、awaited型、ラベル付きタプル要素、前方宣言、その他多くが含まれる。

TypeScriptは、Apache 2ライセンスの下で利用可能なオープンソースソフトウェアである。貢献とフィードバックはTypeScript GitHubプロジェクトを通じて奨励されており、TypeScript貢献ガイドラインマイクロソフトのオープンソース行動規範に従う必要がある。

Let's block ads! (Why?)



"修正する" - Google ニュース
August 03, 2020 at 09:40AM
https://ift.tt/2Xmpc8j

Performance, Promise, Errorが改善されたTypeScript 3.9 - InfoQ Japan
"修正する" - Google ニュース
https://ift.tt/2P2oTMt
Shoes Man Tutorial
Pos News Update
Meme Update
Korean Entertainment News
Japan News Update

No comments:

Post a Comment