IMO, jednym z głównych problemów języka TypeScript jest obsługa istniejącego zwykłego kodu JavaScript. Takie wrażenie miałem na pierwszy rzut oka. Spójrz na następującą funkcję JavaScript, która jest całkowicie poprawna:
Uwaga: nie mówię, że podoba mi się to podejście. Mówię tylko, że to poprawny kod JavaScript.
function sum(numbers) {
var agregatedNumber = 0;
for(var i = 0; i < arguments.length; i++) {
agregatedNumber += arguments[i];
}
return agregatedNumber;
}
Tak więc używamy tej funkcji z dowolną liczbą argumentów:
console.log(sum(1, 5, 10, 15, 20));
Jednak kiedy wypróbowuję to z TypeScript Playground , daje to błędy czasu kompilacji.
Zakładam, że to błąd. Załóżmy, że nie mamy problemów ze zgodnością. W takim razie, czy istnieje sposób na napisanie tego typu funkcji z otwartymi argumentami? Takich jak paramsfunkcja w C #?
numbersparametr? Nic z tym nie robisz.