前些日子碰到几个ts类型 就查了下 再次看到居然又忘了
所以是时候记录一下了
一: 工具类型
Partial<T> 直译是部分的 类型作用是 将T中所有属性设置为可选的
Required<T> 将T种类型都变成必须的
Readonly<T> 将T中类型都变成只读的
Pick<T, K extend keyof T> pick就是选择的意思 这个类型是 将选择 T中的 K类型 返回一个新类型
eg: type newType = pick<People, 'name' | 'age'> 就是将name age 合成换一个新类型 命名为newTypeOmit<T, K extend keyof T> 跟4正好相反 排除T中的K类型 剩下的返回一个新类型
Extract<T, U> 提取T中 可以赋值给U的类型,并返回新的对象类型
Exclude<T, U> 从T中剔除可以赋值给U的类型。
Record<T, K> 将 K 中的所有属性值都转换为 T 类型,并返回新的对象类型
二:
T & U 交叉类型
将 T 和 U 的所有类型 合并为一个新类型T | U 联合类型
a. 当函数参数时: 联合类型表示一个值可以是几种类型之一
number | string | boolean表示一个值可以是 number, string,或 boolean
b. 当函数返回值时: 如果一个值是联合类型,我们只能访问此联合类型的所有类型里共有的成员。
比如1一个函数的返回值是 T | U类型 那么这个返回值 只能访问 T 和 U的公共类型.
对于我来说 ts只是一个类型检查器 所以稍微记录下 就可以了 不知道看文档 一看一个不吱声