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