前端必知必会-TypeScript Keyof的使用

文章目录

  • TypeScript Keyof
    • 带有显式键的 keyof
    • 带有索引签名的 keyof
  • 总结


TypeScript Keyof

keyof 是 TypeScript 中的一个关键字,用于从对象类型中提取键类型。

带有显式键的 keyof

当在带有显式键的对象类型上使用时,keyof 会使用这些键创建一个联合类型。

示例

interface Person {
name: string;
age: number;
}
// 此处的 `keyof Person` 创建了“name”和“age”的联合类型,不允许使用其他字符串
function printPersonProperty(person: Person, property: keyof Person) {
console.log(`打印 person 属性 ${property}: "${person[property]}"`);
}
let person = {
name: "Max",
age: 27
};
printPersonProperty(person, "name"); // 打印 person 属性名称:“Max”

带有索引签名的 keyof

keyof 还可以与索引签名一起使用来提取索引类型。

type StringMap = { [key: string]: unknown };
// `keyof StringMap` 在这里解析为 `string`
function createStringPair(property: keyof StringMap, value: string): StringMap {
return { [property]: value };
}

总结

本文介绍了TypeScript Keyof的使用,如有问题欢迎私信和评论

你可能感兴趣的:(前端,typescript,javascript)