2017-04-17 7 views
2

インデックス可能な型のインデクサの名前の目的は何ですか?インデックス可能な型のインデクサの名前の意義は何ですか?

class Test { 
    someProp: string 
} 

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

インデックス名someStringsomeNumberの目的は何ですか:

は、私は以下のようにインデックス可能なタイプ Indexableがありますか?インデクサは [key: string][index: string]のように定義されています。 keyindexの名前には特別な意味がありますか?

公式のdocumentationに名前に関連するものが見つかりません。

+6

を参照してください。私はしばしばそれを「キー」と呼ぶ。これは、接尾辞型の構文のため、軽度の煩わしさのために必要です。つまり、後置タイプの構文は多くの理由で素晴らしいです。 –

答えて

1

これは型定義を可能にするバインディング識別子です。文法定義は次のとおりです。

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

は、我々は通常、デフォルトの識別名としてindexまたはkeyを使用するが、我々は、他の名前を使用することができます。

これは、発信者にintellsenseに表示されるので、意味を提供することができますhttps://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#394-index-signatures

関連する問題