LOADING

MiniKano的小窝


 

[TypeScript] keyof关键字及用法

keyof 是 TypeScript 中的一个关键字,它用于获取一个类型的所有键(属性名)的联合类型。

用法:

当你使用 keyof 时,它返回给定类型的所有属性名的联合类型。

例子:

type Person = {
  name: string;
  age: number;
};

type PersonKeys = keyof Person;
// PersonKeys 类型为 "name" | "age"

一个比较实用的用法:

如果我们需要获取对象中所有的key,并且把这些key的其中一部分放入数组中遍历验证,但是又怕数组中的key字符串写错,我们可以配合keyof这样写:

// 问诊记录
type Consult = {
  id: string
  type: ConsultType
  illnessType: 0 | 1
  depId: string
  illnessDesc: string
  illnessTime: IllnessTime
  consultFlag: 0 | 1
  pictures: Image[]
  patientId: string
  couponId: string
}

type PartialConsult = Partial<Consult>

type Keys = keyof PartialConsult

const validKeys: Keys[] = [ //这样定义数组编辑器就会有提示
    'type',
    'illnessType',
    'depId',
    'illnessDesc',
    'illnessTime',
    'consultFlag',
    'patientId'
]
/*store定义部分忽略*/
//校验
const valid = validKeys.every((key) => store.consult[key] !== undefined)
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注