可索引类型中索引器名称的用途是什么?
我有一个可索引类型Indexable
,如下所示:
class Test {
someProp: string
}
interface Indexable {
[someString: string]: Test,
[someNumber: number]: Test
}
索引名称someString
和someNumber
的目的是什么?我还看到索引器定义为[key: string]
和[index: string]
。姓名key
和index
是否有任何特殊含义?
我在官方documentation中找不到与该名称相关的任何内容。
答案 0 :(得分:1)
它只是一个允许类型定义的绑定标识符。语法定义是:
IndexSignature:
[ BindingIdentifier : string ] TypeAnnotation
[ BindingIdentifier : number ] TypeAnnotation
我们通常使用index
或key
作为默认标识符名称,但我们可以使用任何其他名称。
请参阅https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#394-index-signatures