Typescript 基础

197 阅读1分钟

Partial

Partial的作用是将传入的属性变成可选项,原理就是使用keyof拿到所有属性名,然后再使用in遍历,T[P]拿到相应的值

type Partial<T> = {
    [P in keyof T] ?: T[P]
}

Required

Required 的作用是将传入的属性变为必选项,原理是使用-?将可选项的?去掉。与之对应的还有个+?

type Required<T> = {
    [P in keyof T] -?: T[P]
}

Readonly

Readonly的作用是将传入的属性变为只读选项

type Readonly<T> = {
    readonly [P in keyof T] : T[P]
}

Mutable

Mutable的作用是将传入属性的readonly移除。

type Mutable<T> = {
    -readonly [P in keyof T] : T[P]
}

Pick

Pick的作用是从T中取出一系列K的属性

type Pick<T, K extends keyof T> = { [P in K]: T[P] }

Exclude

Exclude的作用是从T中找出U中没有的元素

type Exclude<T, U> = T extends U ? never : T

Omit

Omit的作用是忽略对象的某些属性功能

type Omit<T, K> = Pick<T, Exclude<keyof T, K>>

TypeScript中的数据类型有 UndefinedNull(空类型)、 Number(数值类型)、string(字符串类型)、Booleanany(任意类型)、void(空类型)、Array(数组类型)、Tuple(元祖类型)。