IMO หนึ่งในข้อกังวลหลักของภาษาTypeScriptคือการสนับสนุนรหัสวานิลลา JavaScript ที่มีอยู่ นี่คือความประทับใจที่ฉันได้เห็นในแวบแรก ดูฟังก์ชัน JavaScript ต่อไปนี้ซึ่งใช้ได้อย่างสมบูรณ์แบบ:
หมายเหตุ: ฉันไม่ได้บอกว่าฉันชอบแนวทางนี้ ฉันแค่บอกว่านี่เป็นรหัส JavaScript ที่ถูกต้อง
function sum(numbers) {
var agregatedNumber = 0;
for(var i = 0; i < arguments.length; i++) {
agregatedNumber += arguments[i];
}
return agregatedNumber;
}
ดังนั้นเราจึงใช้ฟังก์ชันนี้ด้วยอาร์กิวเมนต์จำนวนเท่าใดก็ได้:
console.log(sum(1, 5, 10, 15, 20));
อย่างไรก็ตามเมื่อฉันลองใช้TypeScript Playgroundมันให้ข้อผิดพลาดเวลาคอมไพล์
ฉันสมมติว่านี่เป็นข้อบกพร่อง สมมติว่าเราไม่มีปัญหาความเข้ากันได้ แล้วมีวิธีใดบ้างในการเขียนฟังก์ชันประเภทนี้ด้วยอาร์กิวเมนต์ปลายเปิด? เช่นparamsคุณสมบัติใน C #?
numbersพารามิเตอร์? คุณไม่ได้ทำอะไรกับมัน