如何理解type Pick<T, K extends keyof T> = { [P in K]: T[P]; };
时间: 2024-05-08 22:17:07 浏览: 125
这是一个 TypeScript 的类型操作符,用于从一个对象类型 T 中获取某些属性 K 组成一个新的类型。
具体来说,Pick<T, K> 的返回值类型是一个新的对象类型,它只包含 T 中指定的 K 属性,属性值的类型与 T 中对应属性的类型相同。
例如,如果定义了一个类型 Person,它有 name、age 和 gender 三个属性:
```
type Person = {
name: string;
age: number;
gender: 'male' | 'female';
}
```
我们可以使用 Pick<T, K> 来获取其中的某些属性:
```
type NameAndAge = Pick<Person, 'name' | 'age'>;
```
这样,NameAndAge 的类型就是:
```
type NameAndAge = {
name: string;
age: number;
}
```
其中,[P in K]: T[P] 表示 for...in 循环遍历 K 中的属性名称,并从 T 中获取对应属性的类型。
阅读全文