1 . 索引签名类型
索引签名类型用来实现无法确定对象中有哪些属性时对对象的声明!!(或者说对象中可以出现任意多个属性)用在对象里面 。
- 如上图 ,语法为 [ key : string ] : number
- key 只是一个占位符 ,可以用任何合法的变量名称 。其中 string 是键的类型 ,而 number 是键值的类型 。
- 表明只要是 string 类型的属性名称 ,都可以出现在对象中 。
- 注意 : JS对象的键都是 string 类型 ,不是也会被转为 string 类型 。
2 . 数组的实现就用到了索引签名类型
数组 实际上是一种特殊类型的对象 ,特殊在数组的键(索引下标)是数值类型 。而且 ,数组里面也是可以出现任意多个元素 。所以 ,在数组对应的泛型接口中 ,就用到了索引签名类型 。 如下 :模拟原生的数组接口