TypeScript 中的 是一个索引类型查询操作符(Index Type Query Operator)。 简单来说,它的作用是获取一个对象类型(Interface 或 Type)的所有键(Key),并将它们组合成一个联合类型(Union Type)。 以下是关于 的详细解析和常见用法: 1. 基本用法 当你对一个对象类型使用 时,它会返回该对象所有属性名组成的字符串字面量联合类型。 2. 最核心的应用场景:泛型约束 (Generics Constraints) 最常见且最强大的用法是配合泛型使用,用于安全地访问对象属性。 假设我们要写一个函数,获取对象中某个属性的值。如果没有 ,TypeScript 无法知道你传入的 key 是否真的存在于对象中。 不使用 keyof (不安全/报错): 使用 keyof (类型安全): 我们使用 来告诉 TypeScript: 必须是 的键之一。 优点: 1. 代码提示:当你输入第二个参数时,IDE 会自动列出 的所有属性。 2. 类型检查:如果你拼写错误或访问不存在的属性,编译时就会报错。 3. 返回值推导:TypeScript 知道 一...