搜索
TypeScript 教程 / 5 更新

5 更新

模板字面量类型

模板字面量类型现在允许我们使用模板字面量创建更精确的类型。我们可以在编译时定义依赖于字符串实际值的自定义类型。

实例

type Color = "red" | "green" | "blue";
type HexColor<T extends Color> = `#${string}`;

// 用法:
let myColor: HexColor<"blue"> = "#0000FF";

索引签名标签

索引签名标签允许我们使用计算后的属性名为索引签名打标签。在处理动态对象时,它有助于提供更描述性的类型信息。

实例

type DynamicObject = { [key: string as `dynamic_${string}`]: string };

// 用法:
let obj: DynamicObject = { dynamic_key: "value" };

5.x 现在还支持原生 JavaScript 私有字段。TypeScript 中的 'private' 仍然按照“类”部分中讨论的方式工作。