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параметр? Ти з цим нічого не робиш.