JavaScriptにおいて、関数の引数の数を任意に変えたい場合や、関数宣言の時に、引数の個数を特定できない場合には、あらかじめ用意されている「argumentsオブジェクト」を利用すると便利です。
argumentsオブジェクトは関数の中でのみ利用できるオブジェクトです。
argumentsオブジェクト
下記の例では、Sums関数に引数の定義はありませんが、argumentsオブジェクトにデータは渡されています。
alertでは、33
と表示されます。
function Sums(){
let sum = 0;
for( i=0; i<arguments.length; i++ ){
sum += arguments[i];
}
return sum;
}
window.alert( Sums(2,5,3,9,2,7,5) ); // => 33
可変長引数
argumentsオブジェクトを「…」の可変長引数に置き換え可能です。
function Sums(...arg){
let sum = 0;
for( i=0; i<arg.length; i++ ){
sum += arg[i];
}
return sum;
}
window.alert( Sums(2,5,3,9,2,7,5) ); // => 33
2021/06/08