TypeScript类型体操

TypeScript类型体操
cgd实现 TypeScript 内置工具类
实现 Partial
1 | // 将所有属性变为可选 浅层 |
实现 Required
1 | // 将所有属性变为必选 浅层 |
实现 Readonly
1 | // 将所有属性变为只读 浅层 |
实现 Pick
1 | // 从某个类型中挑出一些属性出来 |
实现 Record
1 | //将 T 中所有的属性的值转化为 K 类型 |
实现 ReturnType
1 | // 获取返回值参数类型 |
实现 Exclude<T, U>
1 | // 将某个类型中属于另一个的类型移除掉。 |
实现 Extract<T, U>
1 | // Extract<T, U> 的作用是从 T 中提取出 U。 |
实现 Omit<T, U>
1 | // T 类型中除了 U 类型的所有属性,来构造一个新的类型。 |
实现 NonNullable
1 | // 过滤类型中的 null 及 undefined 类型。 |
实现 Parameters
1 | // 获得函数的参数类型组成的元组类型。 |