ใน 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 version: มีผู้แทน. NET ที่เทียบเท่าใน TypeScript หรือไม่
(n: number) => any
หมายถึงฟังก์ชั่นลายเซ็นใด ๆ ?