Uppercase
Lowercase
Capitalize
Uncapitalize
Extract
交集操作
// 内置工具:交集type Extract<T, U> = T extends U ? T : never;type type1 = 'name'|'age'type type2 = 'name'|'address'|'sex'// 结果:'name'type test = Extract<type1, type2>// 推理步骤'name'|'age' extends 'name'|'address'|'sex' ? 'name'|'age' : never=> ('name' extends 'name'|'address'|'sex' ? 'name' : never) |('age' extends 'name'|'address'|'sex' ? 'age' : never)=> 'name' | never=> 'name'作者:汪图南链接:https://juejin.cn/post/6980158674681462820来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Required(必填)和Partial(可填)
Required是用来将所有字段变成必填的,而Partial所做的事情和它相反,它是用来将所有字段变成可填的。
Record(构造)
Record的作用有点像JavaScript中的map方法,它是用来将K的每一个键(k)指定为T类型,这样由多个k/T组合成了一个新的类型。
Pick(选取)
Pick的作用是从指定的类型中选取指定的字段组成一个新的类型。
Exclude(排除)
Exclude的作用是从T中移除那些存在于U中的类型,既:取差集。
Omit(剔除)
Omit所做的事情和Pick相反,Omit指的是从指定的T类型中移除指定的字段,剩下的字段组成一个新类型。
