9.索引签名类型,映射类型,索引查询类型

目录

1  索引签名类型

1.1  对象

1.2  数组

2  映射类型

2.1  映射联合类型

2.2  映射类型无法在接口中使用

2.3  映射对象类型

2.4  泛型工具类型都是基于映射类型实现的

3  索引查询类型

3.1  基本使用

扫描二维码关注公众号,回复: 16394648 查看本文章

3.2  索引查询多个相当于联合类型


1  索引签名类型

1.1  对象

我们现在想定义一个对象,规则是键名无所谓,所有的键值必须为number。这个时候我们可以用到索引签名类型

我们可以看到名称你随便取,但是值必须我数字。

由于在对象中键必须是字符串,所以规则中的string可以理解为定死的。由于something这里的变量名可以随便取,所以你也可以理解为定死的。也就是规则中冒号前面的东西都是定死的,你改后面的number就行了

1.2  数组

我们现在想定义一个数组,内容必须为字符串,我们通常会这样写

我们也可以利用所i你签名类型这样写

2  映射类型

2.1  映射联合类型

我现在要创建一个对象,需要包含x,y,z属性,且这三个属性都是number属性,这个时候我们可以这样写

也可以用映射类型来写

2.2  映射类型无法在接口中使用

2.3  映射对象类型

我们可以通过keyof只取他们的键

2.4  泛型工具类型都是基于映射类型实现的

比如Partial

再比如Readonly

上面是我自己写的,我们可以看一下源码

3  索引查询类型

3.1  基本使用

我现在有一个对象,对象里有a,b,c三个属性,属性值依次约束为 数字,字符串,布尔。我现在新建一个约束something1,让something1的类型与something中a的属性 类型相同

3.2  索引查询多个相当于联合类型

比如说我约束somehting1的类型为 数字或字符串

如果你用 keyof 就相当于把三个属性都遍历了,也就是something1的类型被约束为 数字或字符串或布尔

猜你喜欢

转载自blog.csdn.net/potato123232/article/details/132044758