TypeScript 5.x 更新
TypeScript 由 Microsoft 积极维护和更新。在 5.x 版本中,进行了大量实用性和生活质量更新。
本章涵盖了最受欢迎的更新,以实现更严格和更灵活的类型安全。
提醒一下,这些功能仅在 5.x+ 中可用。
模板字面量类型
模板字面量类型现在允许我们使用模板字面量创建更精确的类型。我们可以在编译时定义依赖于字符串实际值的自定义类型。
实例
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' 仍然按照“类”部分中讨论的方式工作。