美文网首页
TypeScript中的类型操作符keyof

TypeScript中的类型操作符keyof

作者: 微志异 | 来源:发表于2020-03-04 17:52 被阅读0次
keyof T,索引类型操作符。对于任何类型T,keyof T的结果为T上已知的公共属性名的联合。
type Person = {
    name: string;
    age: number;
    sex: string;
};

type Test = keyof Person;
// Test: "name" | "age" | "sex"

例子:定义一个get方法获取对象data的属性值

const data = {
    a: 1,
    b: 2,
    c: 3,
};

// 普通get方法(缺点:无法确定返回类型,无法对key做约束)
function get(obj: object, key: string) {
    return obj[key];
}

// 利用keyof约束实现get方法
function get<T extends object, K extends keyof T>(obj: T, key: K): T[K]{
    return obj[key];
}

get(data, 'a'); // 因为做了类型约束,第二个参数只能传入a,b,c 否则报错

相关文章

  • Typescript - 类型操作符&索引访问类型

    Typescript提供一些非常有用的类型操作符,如keyof/typeof,在日常开发中灵活应用这些函数利于编写...

  • TypeScript中的类型操作符keyof

    keyof T,索引类型操作符。对于任何类型T,keyof T的结果为T上已知的公共属性名的联合。 例子:定义一个...

  • typescript 学习笔记

    keyof 的使用 typescript 的 keyof 关键字, 将一个类型映射为它所有成员名称的联合类型. t...

  • TS中keyof的作用以及应用

    官方定义:keyof该操作符可以用于获取某种类型的所有键,其返回类型是联合类型(keyof的应用多第三方库的源码中...

  • keyof

    keyof T,索引类型操作符。对于任何类型T,keyof T的结果为T上已知的公共属性名的联合。 or

  • TypeScript06--高级类型(2)

    索引类型: keyof :索引类型查询操作符(返回所有的属性名) T[K]:索引访问操作符 映射类型: ...

  • keyof 和 类型查询

    ts v2.1+ keyof 操作符,用于类型查询 可以看出返回一个union类型。 在写代码中,可以利用keyo...

  • TS 类型体操合集

    基本姿势 keyof keyof 返回一个类型的所有 key 的联合类型: 类型索引 类型索引可以通过 key 来...

  • 第十二节:TypeScript 类型操作

    类型操作 TypeScript 的类型系统非常强大,因为它允许用其他类型来表达类型。 通过组合各种类型的操作符,我...

  • T extends object + keyof 组合

    keyof 关键字 keyof 表示获取一个:类或者对象类型 或者接口类型的,所有属性名[key]组成的联合类型 ...

网友评论

      本文标题:TypeScript中的类型操作符keyof

      本文链接:https://www.haomeiwen.com/subject/rysblhtx.html