W TypeScript mogę zadeklarować parametr funkcji jako typ funkcji. Czy istnieje sposób „bezpieczny dla typu”, którego mi brakuje? Rozważmy na przykład:
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);
Funkcja callback save nie jest bezpieczna dla typu, nadaję jej funkcję callback, w której parametrem funkcji jest ciąg znaków, ale przekazuję jej liczbę i kompiluję bez błędów. Czy mogę ustawić parametr wynikowy w funkcji bezpiecznej dla typu?
Wersja TL; DR: czy w TypeScript istnieje odpowiednik delegata .NET?
(n: number) => any
oznacza jakąś sygnaturę funkcji?