介绍
内置类型函数说明
TS内置了一些函数,帮你快速批量操作一些类型。
比如类型A 有两个属性,都不是可选的属性,一定要有的。
而类型B想要和类型A一样的属性,但是属性都是可选。
这个时候你可以手动编写B,反正就2条属性,和A的一样就好了。
但是,如果A有几十条属性,你怎么办?此时用内置的函数,可以批量把A的属性变成可选的。
函数说明
https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype
常用函数
属性操作
Partial 把属性变成可选
// A 类型有两个属性,必选type A = {A1: string;A2: string;}let aa:A = {A1:"111",A2:"222"}// Partial把A的属性变成可选type B = Partial<A>// Blet bb:B ={A1:"2333"}
Required 把属性变成必选
// A 类型有两个属性,可选type A = {A1?: string;A2?: string;}let aa:A = {A1:"111",}// 变成必选type B = Required<A>let bb:B ={A1:"2333",A2:"222"}
Omit 找到某个属性并删除
// A 类型有3个属性,必选type A = {A1: string;A2: string;A3: string}let aa:A = {A1:"111",A2:"111",A3:"111",}// B继承A,且删掉属性A1type B = Omit<A,"A1">let bb:B ={A2:"2333",A3:"222"}
InstanceType 构造函数的实例类型
class C {x = 0;y = 0;}type T0 = InstanceType<typeof C>;let a:T0 = {x:1,y:2}let b:C = {x:1,y:2}
这个主要是用于Vue中使用TS时,获取组件实例的,可以查看 https://www.yuque.com/yejielin/mypn47/gf762y#FvvEQ
