手册
目录
当用于具有显式键的对象类型时,keyof 使用这些键创建联合类型。
interface Person {
name: string;
age: number;
}
// 这里的 `keyof Person` 创建了一个 "name" 和 "age" 的联合类型,其他字符串将不允许
function printPersonProperty(person: Person, property: keyof Person) {
console.log(`Printing person property ${property}: "${person[property]}"`);
}
let person = {
name: "Max",
age: 27
};
printPersonProperty(person, "name"); // 打印人员属性名称: "Max"
keyof 还可以与索引签名一起使用来提取索引类型。
type StringMap = { [key: string]: unknown };
// 这里的 'keyof StringMap' 解析为 'string'
function createStringPair(property: keyof StringMap, value: string): StringMap {
return { [property]: value };
}
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习