312 字
2 分钟
手写TS常见类型
1. 手写 Pick
TIPPick<T, K> ==> 从类型 T 中选出属性 K,构造成一个新的类型
type myPick<T, K extends keyof T> = {
[P in K]: T[P];
};
2. 手写 Exclude
TIPExclude 是 TypeScript 的一种类型操作符,用于从类型 T 中排除掉指定的类型 K
type myExclude<T, K> = T extends K ? never : T;
3. 手写 Partial
TIPPartial 是 TypeScript 内置的一个类型操作符,它用于将某个类型中每个属性设置为可选属性,这表示这些属性的值可以是 undefined 或者省略
type myPartial<T> = {
[P in keyof T]?: T[P];
};
4. 手写 Omit
TIPOmit 是 TypeScript 的一种类型操作符,用于从类型 T 中删去指定的属性 K
type myOmit<T, K> = Pick<T, Exclude<keyof T, K>>;
5. 手写 ReadOnly
TIPReadonly 是 TypeScript 内置的一个类型操作符,它用于将某个类型中每个属性设置为只读属性,这表示这些属性的值不能被修改
type myReadOnly<T> = {
readonly [P in keyof T]: T[P];
};
6. 手写 Required
TIPRequired 是 TypeScript 内置的一个类型操作符,它用于将某个类型的所有可选属性都转换为必选属性
type myRequired<T> = {
[P in keyof T]-?: T[P];
};
原文作者:阳树阳树