可索引类型中索引器名称的重要性是什么?

时间:2017-04-17 15:33:52

标签: typescript

可索引类型中索引器名称的用途是什么?

我有一个可索引类型Indexable,如下所示:

class Test {
    someProp: string
}

interface Indexable {
    [someString: string]: Test,
    [someNumber: number]: Test
}

索引名称someStringsomeNumber的目的是什么?我还看到索引器定义为[key: string][index: string]。姓名keyindex是否有任何特殊含义?

我在官方documentation中找不到与该名称相关的任何内容。

1 个答案:

答案 0 :(得分:1)

它只是一个允许类型定义的绑定标识符。语法定义是:

IndexSignature:
   [ BindingIdentifier : string ] TypeAnnotation
   [ BindingIdentifier : number ] TypeAnnotation

我们通常使用indexkey作为默认标识符名称,但我们可以使用任何其他名称。

  

请参阅https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#394-index-signatures