Trong TypeScript, tôi có thể khai báo một tham số của một hàm như một kiểu Hàm. Có một cách "an toàn" loại này mà tôi đang thiếu? Ví dụ, hãy xem xét điều này:Các hàm được đánh mạnh có phải là các tham số có thể có trong TypeScript không?
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);
Các lưu callback không phải là loại an toàn, tôi cho nó một chức năng gọi lại nơi tham số của hàm là một chuỗi nhưng tôi đi qua nó một con số, và biên dịch không có lỗi. Tôi có thể làm cho tham số kết quả trong việc lưu một chức năng loại an toàn không?
phiên bản tl; dr: có tương đương với ủy quyền .NET trong TypeScript không?
Huh, điều đó có vẻ hiển nhiên bây giờ. Cảm ơn! – vcsjones
'' '(n: number) => any''' có nghĩa là bất kỳ chữ ký hàm nào không? –
@nikkwong nghĩa là hàm lấy một tham số (một 'số') nhưng kiểu trả về không bị giới hạn (có thể là bất kỳ giá trị nào hoặc thậm chí là' void') –