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

相關問題