我是靠谱客的博主 小巧未来,最近开发中收集的这篇文章主要介绍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:索引类型keyof所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部