Announcing TypeScript 4.1 RC
CRANK
Today we are making the Release Candidate (RC) of TypeScript 4.1 available. To get started using the RC, you can get it through NuGet, or use npm with the following command: npm install typescript@rc You can also get editor support by Downloading for Visual Studio 2019/2017 Following directions for Visual Studio Code and Sublime Text.
2 comments
TypeScript 4.1RCがでました。幾つかピックアップ
Template Literal TypesとKey Remapping in Mapped Typesを備えたTypeScript 4.1 RCがリリースされました💐
Template Literal Typesは、文字列から柔軟に型定義ができる便利な機能。
Key Remapping in Mapped Typesは、mapped typeにTemplate Literal Typesを組み合わせられます。
どちらもTypeScriptの型表現を超強力にする大型アップデートです✨
ラーメンとうどんによるサンプルコードを作ってみました。
https://tsplay.dev/qWJ05N
type Ramen =
${T}ラーメン
;type AllRamen = Ramen<"とんこつ🐷">;
// 「ラーメン」が入ってないのでNG😡
const foo: AllRamen = "とんこつ🐷";
// ラーメンが入ってるのでOK🥰
const bar: AllRamen = "とんこつ🐷ラーメン";
type FoodFighter = {[P in keyof T & string as
${P}うどんが食べたい
]: () => T[P]};type UdonMan = FoodFighter<{ごぼてん: string, にく: number}>;
// 「まる天うどんが食べたい」がNG😡
const baz: UdonMan = {
まる天うどんが食べたい: () => "明日",
にくうどんが食べたい: () => 200_300
}
// OK🥰
const qux: UdonMan = {
ごぼてんうどんが食べたい: () => "毎日",
にくうどんが食べたい: () => 200_200
}