keyof
是 TypeScript 中的一个关键字,用于从对象类型中提取键类型。
keyof
使用显式键当用于具有显式键的对象类型时,keyof
使用这些键创建联合类型。
interface Person {
name: string;
age: number;
}
// `keyof Person` here creates a union type of "name" and "age", other strings will not be allowed
function printPersonProperty(person: Person, property: keyof Person) {
console.log(`Printing person property ${property}: "${person[property]}"`);
}
let person = {
name: "Max",
age: 27
};
printPersonProperty(person, "name"); // Printing person property name: "Max"
亲自试一试 »
keyof
带索引签名keyof
还可以与索引签名一起使用来提取索引类型。
type StringMap = { [key: string]: unknown };
// `keyof StringMap` resolves to `string` here
function createStringPair(property: keyof StringMap, value: string): StringMap {
return { [property]: value };
}
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!