Pick
Pick
是TypeScript中的一种内置类型,用于从一个对象类型中选择一些属性并创建一个新类型。
例如,假设有一个名为Person
的类型,其中包含名字、年龄、电话号码等属性。如果您只需要从该类型中选择名字和年龄,则可以使用Pick
:
type Person = {
name: string;
age: number;
phone: string;
};
type PersonNameAndAge = Pick<Person, 'name' | 'age'>;
在此示例中,PersonNameAndAge
是一个新类型,仅包含Person
类型中的name
和age
属性。
实现
type Pick<T, K extends keyof T> = {
[P in K]: T[P];
};
在此示例中,Pick
是一个泛型类型,它接受两个参数:
T
:要从中选择属性的对象类型。K
:希望从T
中选择的属性的键。K
必须是T
中的键的子集。
返回值是一个新类型,其中包含从T
中选择的属性。