TypeScript 5.x 更新
TypeScript 由 Microsoft 積極維護和更新。在 5.x 版本中,進行了許多實用工具和生活質量的更新。
本章涵蓋了最受歡迎的更新,以實現更嚴格和更靈活的型別安全。
提醒一下,這些功能僅在 5.x+ 版本中可用。
模板字面量型別
模板字面量型別
(Template Literal Types) 現在允許我們使用模板字面量建立更精確的型別。我們可以定義依賴於編譯時字串實際值的自定義型別。
示例
type Color = "red" | "green" | "blue";
type HexColor<T extends Color> = `#${string}`;
// 用法
let myColor: HexColor<"blue"> = "#0000FF";
自己動手試一試 »
索引簽名標籤
索引簽名標籤
(Index Signature Labels) 允許我們使用計算屬性名為索引簽名新增標籤。它有助於在處理動態物件時提供更具描述性的型別資訊。
示例
type DynamicObject = { [key: string as `dynamic_${string}`]: string };
// 用法
let obj: DynamicObject = { dynamic_key: "value" };
自己動手試一試 »
5.x 現在還支援原生 JavaScript 的私有欄位。正如在類部分討論的那樣,TypeScript 的 'private' 仍然有效。