1.Partial
Partial<T>
将类型T中的成员变成可选
2.Required
Required<T>
将类型T中的成员变成必选
3.Readonly
Readonly<T>
将类型T中的成员变成只读
4.Exclude
Exclude<T,U>
简单理解:将T类型中关于U类型的类型删除掉
type G = 'name' | 'age'
type H = 'name'
type I = Exclude<G, H> // 'age'
5.Extract
Extract<T,U>
简单理解:提取类型T和类型U的公有类型
type G = 'name' | 'age'
type H = 'name'
type I = Extract<G, H> // name
6.NonNullable
NonNullable<T>
将移除T中的null、undefined类型
type A = 'abc' | null | undefined
type C = NonNullable<A> // 'abc'
7.ReturnType
ReturnType<T>
获取函数返回值的类型,注意:T必须为类型
type A = () => string
type B = ReturnType<A> // string
function sum(a: number, b: number) {
return a + b
}
// 通过typeof拿到函数的类型
type C = ReturnType<typeof sum> // number
8.InstanceType
InstanceType<T>
用于获取构造函数类型的实例类型
class A { }
const a = new A()
type B = InstanceType<typeof A> // A