2015-12-04 50 views
1

我是打字稿的新手,我非常喜歡它。但是現在我爲了回到我舊的js代碼中的函數而感到困惑。所以我嘗試瞭解如何使用具體簽名來定義返回類型「Function」。在例如像這樣(注意,這並不編譯):我可以定義一個函數返回具有某個簽名的另一個函數嗎

function getAFunction(): Function(a: string, b: number) { 
    return function(a: string, b: number): void { 
     // some logic   
    } 
} 

也沒有documentation對於這種特殊情況下,或有我只是監督呢?

+1

的例子在文檔是'var myAdd:(x:number,y:number)=> number'。請注意,類型註釋語法不是位置特定的。 –

回答

2

要回答你的問題,語法如下:

var a = function(): (a: string, b: number) => void { 
    return (a: string, b: number) => void { 
     // some logic   
    } 
} 

但由於編譯器執行類型推斷,類型標註,其實是可選的:

var a = function() { 
    return (a: string, b: number) => void { 
     // some logic   
    } 
} 
+0

我也是新來的TypeScript。聲明'a'時,最好使用'let'而不是'var'?或者在這種情況下'var'更好? – devdanke

相關問題