TypeScript4.2ベータ版がリリースされました

TypeScript4.2ベータ版がリリースされました。

入手方法

NuGetを介して 取得するか、次のnpmコマンドを使用します。

npm install typescript @ beta

また、次の方法でエディターで取得することもできます。

以下に、TypeScript4.2の新機能を簡単に紹介します。

  • プリミティブタイプの残りの要素は、タプルのどこにでも配置できます

以前のバージョンでは、TypeScriptはrest要素をタプルタイプの最後の位置にのみ許可していましたが、rest要素はタプルのどこにでも表示できるようになりました。唯一の制限は、その背後に他のオプション要素またはrest要素がない場合です。 。つまり、タプルごとに残りの要素は1つだけであり、残りの要素の後にオプションの要素はありません。

let foo: [...string[], number];

foo = [123];
foo = ["hello", 123];
foo = ["hello!", "hello!", "hello!", 123];

let bar: [boolean, ...string[], boolean];

bar = [true, false];
bar = [true, "some text", false];
bar = [true, "some", "separated", "text", false];
  • タイプエイリアスをよりスマートに保持
  • テンプレートリテラル式には、すでにテンプレートリテラルタイプがあります

TypeScript 4.1では、新しいタイプであるテンプレートリテラルタイプが導入されました。このタイプは、文字列の特定のパターンをモデル化できます。

type GreetingStart = "hello" | "hi" | "sup";

declare function greet(str: `${GreetingStart} ${string}`): void;

// Works.
greet("hello world!");

// Works.
greet("hi everybody!");

// Error!
// Doesn't work with any of the patterns:
//   `hello ${string}` | `hi ${string}` | `sup ${string}`
greet("hallo yes hi sup");

しかし、4.1では、テンプレート文字列タイプとテンプレート文字列式の間にいくつかの奇妙な矛盾があります。これは、テンプレート文字列式が新しいテンプレート文字列タイプと互換性がないためです。

そのため、TypeScript 4.2では、テンプレート文字列式は常にテンプレートリテラルタイプで始まるようになりました。

  • in オペレーターに対してより厳密なチェックを 実行します
  • オプションの属性と文字列インデックス署名の間のルールを緩和します
  • 不足しているアクセシビリティ機能を宣言する

詳細については、発表を参照してください

おすすめ

転載: www.oschina.net/news/126465/typescript-4-2-beta-released