在TypeScript中,我可以將函數的參數聲明爲Function類型。有沒有一種「類型安全」的做法,我失蹤了?例如,考慮一下:在TypeScript中可以使用強類型函數作爲參數嗎?
class Foo {
save(callback: Function) : void {
//Do the save
var result : number = 42; //We get a number from the save operation
//Can I at compile-time ensure the callback accepts a single parameter of type number somehow?
callback(result);
}
}
var foo = new Foo();
var callback = (result: string) : void => {
alert(result);
}
foo.save(callback);
保存回調不是類型安全的,我給它一個回調函數,其中該函數的參數是一個字符串,但我傳遞了一個數字,並沒有錯誤編譯。我可以使結果參數保存爲類型安全函數嗎?
tl; dr版本:是否有相當於TypeScript中的.NET代理?
呵呵,現在看起來很明顯。謝謝! – vcsjones
'''(n:number)=> any'''表示任何函數簽名? –
@nikkwong它意味着函數帶有一個參數('數字'),但返回類型根本不受限制(可以是任何值,甚至是'void') –