院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

スプレッド演算子

スプレッド演算子と残余引数は見た目は同じだけど若干違う

スプレッド演算子 ばらして渡す
//個々の値に展開する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]