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
最佳答案
有。它们被称为泛型。在您的情况下,它看起来像这样:
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
关于TypeScript 返回参数的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38620733/