当前位置: 首页 > 知识库问答 >
问题:

前端 - ts 中 in keyof 的怎么用?

茹高义
2023-06-10

下面这一段 TS 代码是什么意思,如果我把 T 传入 Animal 类型,Simplify 的类型是什么样子的?仍然是跟 Animal 一样的类型吗?

interface Animal {
  name: string;
  age: number;
}
type Simplify<T> = {
  [P in keyof T]: T[P];
};

共有1个答案

孟浩然
2023-06-10

补了一下示例,看看?

interface Animal {
  name: string;
  age: number;
}
type Simplify<T> = {
  [P in keyof T]: T[P];
};

type Simplify2<T> = {
  [P in keyof T]?: T[P];
};

type SimplifyAnimal = Simplify<Animal>;

type SimplifyAnimal2 = Simplify2<Animal>;

const a: Animal = {
  name: 'dog',
  age: 2,
}

const b: SimplifyAnimal = a;

const c: SimplifyAnimal2 = {
  name: 'dog',
}
 类似资料: