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デリゲートに相当するものはありますか?
(n: number) => any
関数のシグネチャを意味しますか?