Typescript 常用16种内置数据类型

271 阅读1分钟

Partial

创建一个新类型,将T中的所有属性变成可选的。

Required

创建一个新类型,将T中的属性都变成必选的。

ReadOnly

创建一个新类型,将T中的属性都变成只读的。

Record<K, T>

根据K和T产生一个新的类型。 注意的是K必须能赋值给 string|number|symbol.

type R = Record<'a'|'b',number>
// {a:number,b:number}

Pick<T,K>

从T中把K属性和它的值宅出来成为一个新的类型。注意K必须是T中的某个属性。

interface A {
    x:number;
    y:number;
}
type Ax = Pick<A,'x'> //{x:number}

Omit<T,K>

Omit 和 Pick 是互补的,意思是从T中把K属性剔除掉。

Exclude<T,U>

把T能赋值给U类型剔除掉。

type T0 = Exclude<'a'|'b'|'c','a'> // 'b'|'c'

Extract<T,U>

Extract和Exclude 互补的,意思是把T中可以赋值给U的类型提取出来。

NonNullable

从T类型中剔除null和undefined产生新类型

Parameters

获取函数类型T的参数类型构建成元组。

ConstructorParameters

获取构造函数类型T的参数类型构建成元组。

ReturnType

获取函数类型T的返回值类型。

InstanceType

该工具类型能够获取构造函数的返回值类型,即实例类型。

ThisParameterType

获取函数类型T中的this类型。

OmitThisParameter

从类型T中剔除this参数类型

ThisType

定义对象字面量的方法中this的类型。