Keyof 类型运算符
keyof 类型运算符
keyof 运算符接受一个对象类型,并生成其键的字符串或数字字面量联合类型。 以下类型 P 与类型 type P = "x" | "y" 相同:
如果该类型具有 string 或 number 索引签名,则 keyof 将返回这些类型:
ts
type Arrayish = { [n: number]: unknown };
type A = keyof Arrayish;
type Mapish = { [k: string]: boolean };
type M = keyof Mapish;
Try注意,在此示例中,M 是 string | number —— 这是因为 JavaScript 对象的键总是被强制转换为字符串,因此 obj[0] 总是与 obj["0"] 相同。
keyof 类型在与映射类型结合使用时尤其有用,我们稍后将学习更多相关内容。