复刻TS类型检测工具"Pick"
从T中选取K联合类型的键,构造新的类型
用例
interface User {
id: number;
age: number;
name: string;
}
type PickUser = MyPick<User, "id"|"age">
//预期: {id: number, age: number}
实现
type MyPick<T, K extends keyof T> = {[P in K]:T[P]}
知识点
- keyof T: 获取对象所有键自面量的联合类型;
- K extends keyof T: 泛型约束, K 只能是 T 中存在的键;
- 映射类型 [P in K]: 遍历联合类型 K, 生成新对象类型;

浙公网安备 33010602011771号