TypeScript4.2ベータ版がリリースされました。
入手方法
NuGetを介して 取得するか、次のnpmコマンドを使用します。
npm install typescript @ beta
また、次の方法でエディターで取得することもできます。
- Visual Studio2019 / 2017のバージョンをダウンロードする
- VisualStudioコード と SublimeText バージョンのダウンロード
以下に、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
オペレーターに対してより厳密なチェックを 実行します- オプションの属性と文字列インデックス署名の間のルールを緩和します
- 不足しているアクセシビリティ機能を宣言する