ИМО, одна из основных задач языка 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параметр? Вы ничего не делаете с этим.