2017-04-17 2 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