Appearance
Pick
从一个复合类型中挑选出想要的类型的组合
ts
type Pick<T, K extends keyof T> = {
[key in K]: T[key]
}
栗子
ts
const person = {
"name": "张三",
"age": 12,
"address": "南京"
}
type Person = typeof person;
type PersonKeys = keyof Person;
type MiniPerson = Pick<typeof person, "name" | "age">; // { "name": string; "age": number; }
// 错误的 ,不能从联合类型中挑选想要的Key的组合
type MiniPersonKeys = Pick<PersonKeys, "name" | "age">;
// 正确的
type MiniPersonKeys = Extract<PersonKeys, "name" | "age">; // "name" | "age"