2017-01-06 2 views
1

내 가장 자랑스럽지 않은 순간이지만, 내 인생에 대한,이 예제 코드에 대한 반환 형식이 무엇인지 이해할 수 없습니다.이상한 Typescript 반환 형식

myFunctionName(myParameter: string): {[key: string]: any} { 
    // Some code 
} 

검색을 시도했지만 실제로 검색 할 "언어"가 없습니다.

"모든"키워드의 의미를 이해하고 대괄호 안의 문자열이 유형으로 정의되어있는 것으로 알고 있습니다. 하지만 그게 내가 가진 최고의거야. 여기 무슨 일 이니?

+0

그것의 난에 해당 코드를 붙여 호기심에서 반환 형식 –

+0

로 바로 자바 스크립트 객체 [타이프 라이터 놀이터 (http://www.typescriptlang.org/play) 및이를 유효하지 않은 것으로 플래그입니다. '선언 된 타입이 'void'또는 'any'가 아닌 함수는 값을 반환해야합니다. 그 코드는 어디서 발견 했습니까? –

+0

안녕하세요 제이슨, 저에게 합리적인 오류 메시지처럼 보입니다. 값을 반환해야하는 코드 대신 "// Some code"주석이 있습니다. 왜냐하면 함수는 값을 리턴 할 필요가 있지만 현재는 그렇게하지 않기 때문에,이 예제는 자세히 설명하지 않았기 때문에이 코드는 올바르게 컴파일되지 않을 것입니다. –

답변

3

문자열 키와 모든 종류의 값을 가진 개체 (또는 다른 언어로 된지도)입니다.

+0

예제 함수의 컨텍스트에서 추측 할 수 있다고 생각합니다. 어떻게 함수에서 이와 같이 객체를 사용/생성하겠습니까? 예를 들어, "{[key : string] : any}"유형의 객체가 myMap이라는 경우, 속성을 어떻게 얻을 수 있습니까? myMap [ 'example'] 또는 myMap.key [ 'example']? –

+0

'return'(예 : 'someValue')'및'myMap.example' 또는'myMap [ 'example']' –

+0

정말 멋지 네요. 마지막 질문, 약속! 이 경우 "열쇠"는 타이프 스크립트의 키워드라는 뜻입니까? –

1

여기서 함수 시그니처의 매개 변수는 '문자열'이어야하고 함수의 반환 유형은 키가 string이고 모든 유형의 값이있는 객체 여야합니다. 예 :

return { 
    'a' : {}, 
    'b' : 'string', 
    'c' : 2, 
    'd' : false, 
}