TypeScript言語の主な関心事の1つであるIMOは、既存のバニラ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#の機能など?