スプレッド構文について
オブジェクト、配列を展開できる
const fruits = ['apple','banana','grape'];
const newFruits = [...fruits];
console.log(newFruits); // ['apple','banana','grape']
どういう時に使うか
コピー
オブジェクト、配列のコピー時に気をつけること
関数の引数で使う
受け取り側で使う(配列として受け取る)
let sum = (...nums) => {
console.log(nums);
}
sum(1,2,3,4); // [1,2,3,4]
渡す時に使う
let sum = (...nums) => {
console.log(nums);
}
let nums = [1,2,3,4];
sum(...nums); // [1,2,3,4]
上記は受け取り側が配列で受け取る状態(スプレッド構文) で渡す側は配列を展開して渡しているが、 これを渡す側を配列にすると 配列の中に配列を展開、、、みたいになる
sum(nums); // [Array(4)]