スプレッド構文を使ってみる。
配列の要素を展開できる。
例を次に示す。
let add = function(a, b) {
return a + b;
};
let sum = add(3, 4);
console.log("sum = " + sum);
let array = [10, 20];
//applyメソッドを使って引数を格納した配列を使って
//関数を呼び出すことができる
console.log("add.apply(null,array) = " + add.apply(null, array));
//スプレッド構文を使ってarrayを展開する
console.log("add(...array) = " + add(...array));
let add2 = function() {
let i, sum = 0;
for (i = 0; i < arguments.length; i += 1) {
sum += arguments[i];
}
return sum;
};
let array2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
//argumentsという配列は呼び出されて関数内で利用できる追加のパラメータである
console.log("add2(1,2,3,4,5,6,7,8,9,10) = " + add2(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
//スプレッド構文を使ってarray2を展開する
console.log("add2(...array2) = " + add2(...array2));
//Math.max() 関数は、入力引数として与えられた 0 個以上の数値のうち最大の数を返します。
console.log("Math.max(1, 2, 3, 4, 5) = " + Math.max(1, 2, 3, 4, 5));
//スプレッド構文を使ってarray2を展開する
console.log("Math.max(...array2) = " + Math.max(...array2));
/*
sum = 7
add.apply(null,array) = 30
add(...array) = 30
add2(1,2,3,4,5,6,7,8,9,10) = 55
add2(...array2) = 55
Math.max(1, 2, 3, 4, 5) = 5
Math.max(...array2) = 10
*/