首页 文章

TypeScript返回参数类型

提问于
浏览
6

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

1 回答

  • 8

    有 . 它们被称为泛型 . 在你的情况下,它看起来像:

    function foo<T>(bar: T): T {
      return bar;
    }
    
    var aString: string = foo('baz');
    var aNumber: number = foo(6);
    

    T 将是通用参数,它将采用 bar 中传递的任何类型 .

    此外,您不必显式指定泛型参数( stringnumber ),因为编译器会根据您在每次调用时传递的实际值来推断它 . 因此,以下内容将是有效且正确推断的:

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

    您可以在官方文档中阅读更多相关信息:https://www.typescriptlang.org/docs/handbook/generics.html

相关问题