我是靠谱客的博主 小巧未来,这篇文章主要介绍ts:索引类型keyof,现在分享给大家,希望可以做个参考。

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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部