前言
- 大家可以结合下面的例子看;
- 下面的代码就以类型
Person为例:type Person = { name: string; age: number; likes?: string[]; gender: 0 | 1; };
一、Omit<T>
- 作用:
- 以 一个类型 为 基础,支持 剔除 某些类型,然后 返回 一个 新类型;
- 简单来说就是,从现有的类型中剔除掉某些属性;
- ❗ 注意:
- 如果想 剔除多个,可以使用 联合类型;
- 示例演示:
// Omit:从现有类型中,剔除某些类型 type Person = { name: string; age: number; likes?: string[]; gender: 0 | 1; }; type OmitPerson = Omit<Person, 'age' | 'likes'>;
二、Pick<T>
- 作用:
- 从 类型 的 属性中,选取 指定一组 属性,然后 返回 一个 新类型;
- 简单来说就是,从现有的类型中,选取指定的类型;
- 示例演示:
// Pick:从现有类型中,取出某些属性 interface Person1 { name: string; age: number; likes?: Array<string>; gender: 0 | 1; } type PinkPerson1 = Pick<Person1, 'age' | 'name' | 'gender'>;
三、Required<T>
- 作用:
- 把一个 对象的 属性 转换为 全部 必选;
- 示例展示:
type Person2 = { city?: string; work?: string; salary?: string; }; type NewPerson = Person & Person2; type RequiredPerson = Required<NewPerson>;- 得到的新类型
RequiredPerson:
- 得到的新类型
四、Partial<T>
- 作用:
- 把一个 对象的 属性 转换为 全部 可选;
- 示例展示:
// RequiredPerson类型 是 第三节得到的 type PartialPerson = Partial<RequiredPerson>;- 得到的新类型
PartialPerson:
- 得到的新类型