2013-02-02 24 views
6

TipScript'te yazılan işlevli bir dizinin nasıl bildirileceğini merak ediyordum. Böyle işlevleri içeren bir dizi tutabilecek bir alan istedik ki,İşlevlerin TypeScript dizisi

private func:() => void; 

Şimdi:: Mesela

, ben hiçbir argüman vardır ve hükümsüz döndüren bir işlev tutabilecek bir alan vardır ki

private funcs:() => void []; 

Bu, derleyicimin bir dizi boşluğu döndüren bir işlev olduğunu düşündüğünden, amaçlandığım şeyi yapmak için yanlış bir yöntemdir. gibi parantez ile inline prototip beyanı izole etmek çalışılıyor

:

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

bir derleyici hatası neden olur.

Bunun nasıl gerçekleştirilebileceği hakkında bir fikri olan var mı?

+0

Olası yinelenen ait: http://stackoverflow.com/q/12706161/24874 –

cevap

8

Sen => kestirme yerine tam tip değişmez sözdizimini kullanmanız gerekir: bu da garip görünüyorsa da bir arabirim yapabiliriz

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

:

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

class etc { 
    private funcs: foo[]; 
}