IMO, một trong những mối quan tâm chính của ngôn ngữ TypeScript là hỗ trợ mã vani JavaScript hiện có. Đây là ấn tượng tôi đã có trong nháy mắt đầu tiên. Hãy xem hàm JavaScript sau đây hoàn toàn hợp lệ:đối số hàm kết thúc mở với TypeScript
Lưu ý: Tôi không nói rằng tôi thích phương pháp này. Tôi chỉ đang nói đây là mã JavaScript hợp lệ .
function sum(numbers) {
var agregatedNumber = 0;
for(var i = 0; i < arguments.length; i++) {
agregatedNumber += arguments[i];
}
return agregatedNumber;
}
Vì vậy, chúng ta tiêu thụ chức năng này với bất kỳ số lượng đối số:
console.log(sum(1, 5, 10, 15, 20));
Tuy nhiên, khi tôi cố gắng này ra với TypeScript Playground, nó mang lại cho biên dịch lỗi thời gian.
Tôi giả định rằng đây là lỗi. Giả sử rằng chúng tôi không có vấn đề tương thích. Sau đó, có cách nào để viết loại hàm này với các đối số mở không? Chẳng hạn như params
tính năng trong C#?
Chỉ cần tò mò, tại sao bạn thậm chí có một tham số 'số' được đặt tên? Bạn không làm bất cứ điều gì với nó. –
@JustinMorgan có ít nhất một tham số cho phép Intellisense ít nhất gợi ý rằng cần có một số đối số. – drzaus