2016-07-27 81 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

有。他们被称为泛型。你的情况,这怎么会是这样的:

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

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

T会,将采取哪种办法在bar传递泛型参数。

此外,您不必明确指定通用参数(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

相关问题