Bootstrap

TS中keyof typeof 一起使用

keyof typeof A:

typeof 是获取所有的类型,keyof是获取所有的键,合在一起用于获取一个对象类型 A 的所有键(key)的名称组成的联合类型。

将这两部分结合起来,keyof typeof A 的含义就是:首先通过 typeof A 获取 A 的类型,然后通过 keyof 获取这个类型的所有键的名称组成的联合类型。

  const people = {
    name: 'liuyz',
    age: 18,
  }
  
  type INewPeople = typeof people
  // 等同于
  // type INewPeople = {
  //   name: number
  //   age: number
  // }
  
  const newPeople: INewPeople = {
    name: "zhi",
    age: 18,
  }
  
  type TKeys = keyof typeof newPeople
  // 等同于
  // type TKeys = "name" | "age"

;