2016-07-27 5 views
3

유형이 명시 적으로 유형을 선언하지 않고 (예 : 일반 매개 변수에서) 매개 변수의 유형임을 나타 내기 위해 TypeScript에 방법이 있습니까? 정렬이 유형 식별 기능임을 나타냅니다. 예를 들어TypeScript가 매개 변수의 유형을 반환합니다.

:

function foo(bar) { 
    // ...do crazy stuff to bar... 
    return bar; 
} 
var aString = foo('baz'); // aString is of string type 
var aNumber = foo(6); // aNumber is of number type 

답변

3

있습니다. 그들은 generics라고합니다.

function foo<T>(bar: T): T { 
    return bar; 
} 

var aString: string = foo('baz'); 
var aNumber: number = foo(6); 

Tbar에 전달 중 형 소요됩니다 일반 매개 변수가 될 것입니다 : 귀하의 경우에는이 그것과 같을 것이다 방법에 대해 설명합니다.

또한 generic 매개 변수 (string, number)를 명시 적으로 지정하지 않아도되므로 컴파일러는 각 호출에서 전달한 실제 값에서이를 추론합니다.

let aString = foo('bar'); // aString's type will be inferred as a string 

당신은 공식 문서에 대한 자세한 내용을보실 수 있습니다 : https://www.typescriptlang.org/docs/handbook/generics.html

+0

아, 시원, 나는 그것을 시도 결코 생각하지 않았다 호출의 유형을 지정하지 않고 그래서 다음은 유효하고 올바르게 추론 것 ... 죄송합니다. 감사. – Josh

관련 문제