概述
https://www.tslang.cn/docs/handbook/advanced-types.html
例子1
这三个 keyof 效果相同,直接生成一个联合属性 name | age
class KeyCls0 {
name: string;
age: number;
};
interface KeyCls1 {
name: string;
age: number;
};
type KeyCls2 = {
name: string,
age: number
};
function main (data: keyof KeyCls1) {
}
main('')
例子2
function pluck<T, K extends keyof T>(o: T, names: K[]): T[K][] {
return names.map(n => o[n]);
}
interface Person {
name: string;
address: string;
}
let person: Person = {
name: 'Jarid',
address: '北京'
};
let strings: string[] = pluck(person, ['name', 'address']);
// ["Jarid", "北京"]
console.log(strings);
这里的 K 代表的是把 T 转换为联合类型中的一个
最后
以上就是小巧未来为你收集整理的ts:索引类型keyof的全部内容,希望文章能够帮你解决ts:索引类型keyof所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复