スプレッド演算子
スプレッド演算子と残余引数は見た目は同じだけど若干違う
スプレッド演算子 ばらして渡す //個々の値に展開する1 let arr = [a,b,c,d] Math.max(a,b,c,d) //一つずつしか引数を渡せない Math.max(...arr) //まとめて渡しても展開してくれる //個々の値に展開する2 let parts = ['shoulders', 'knees']; let lyrics = ['head', ...parts, 'and', 'toes']; // ["head", "shoulders", "knees", "and", "toes"] //配列を複製する var arr = [1, 2, 3]; var arr2 = [...arr]; //array-likeをarrayにする なぜできる?
残余引数 まとめて受け取る function f(a, b, ...theArgs) { } '...引数'に残りの引数が入る 分割代入 let [a, b, ...rest] = [1, 2, 3, 4, 5]; console.log(a); // 1 console.log(b); // 2 console.log(rest); // [3, 4, 5]