2013-02-02 47 views
6

我在想如何在TypeScript中聲明一個類型函數數組。TypeScript數組函數

例如,說我有可容納沒有參數並返回void的函數場:

private func:() => void; 

現在,說我想能容納這樣的功能的陣列場:

private funcs:() => void []; 

這顯然是做錯我的意圖的方法,因爲編譯器認爲這是一個返回空白數組的函數。

試圖內嵌原型說明用括號隔離如:

private funcs2: (() => void ) []; 

導致編譯錯誤。

有沒有人有這樣的想法可以完成?

+0

可能重複的: http://stackoverflow.com/q/12706161/24874 –

回答

8

你需要使用完整的類型文字語法而不是=>簡寫:

private funcs: {(): void; }[]; 

你也可以將一個接口,如果看起來太奇怪了:

// (elsewhere at top-level) 
interface foo { 
    (): void; 
} 

class etc { 
    private funcs: foo[]; 
}