求star

开源不易,喜欢请点个star吧

Ocean Han
312 字
2 分钟
手写TS常见类型
2023-08-07

1. 手写 Pick#

TIP

Pick<T, K> ==> 从类型 T 中选出属性 K,构造成一个新的类型

type myPick<T, K extends keyof T> = {
  [P in K]: T[P];
};

2. 手写 Exclude#

TIP

Exclude 是 TypeScript 的一种类型操作符,用于从类型 T 中排除掉指定的类型 K

type myExclude<T, K> = T extends K ? never : T;

3. 手写 Partial#

TIP

Partial 是 TypeScript 内置的一个类型操作符,它用于将某个类型中每个属性设置为可选属性,这表示这些属性的值可以是 undefined 或者省略

type myPartial<T> = {
  [P in keyof T]?: T[P];
};

4. 手写 Omit#

TIP

Omit 是 TypeScript 的一种类型操作符,用于从类型 T 中删去指定的属性 K

type myOmit<T, K> = Pick<T, Exclude<keyof T, K>>;

5. 手写 ReadOnly#

TIP

Readonly 是 TypeScript 内置的一个类型操作符,它用于将某个类型中每个属性设置为只读属性,这表示这些属性的值不能被修改

type myReadOnly<T> = {
  readonly [P in keyof T]: T[P];
};

6. 手写 Required#

TIP

Required 是 TypeScript 内置的一个类型操作符,它用于将某个类型的所有可选属性都转换为必选属性

type myRequired<T> = {
  [P in keyof T]-?: T[P];
};

原文作者:阳树阳树

原文链接:常考 TS 手写—妈妈再也不用担心我的 TS 了

手写TS常见类型
https://blog.oceanh.top/posts/frontend/手写ts常见类型/
作者
Ocean Han
发布于
2023-08-07
许可协议
CC BY-NC-SA 4.0
最后修改时间
2024-08-10 10:08:49