Spread Operator

在 JavaScript,

Spread operator 是一個用來展開 array or object 的運算符號,

可以分解成單獨的元素,可以分解成單獨的元素,

讓它們可以被傳遞到函式或者陣列中,

好處是可以簡化程式碼,

使其簡潔易讀,

Spread operator 使用三個點 ... 來表示

展開陣列

const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5, 6];

console.log(arr2); // [1, 2, 3, 4, 5, 6]

將兩個陣列合併

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];

console.log(arr3); // [1, 2, 3, 4, 5, 6]

在函式中傳遞陣列

function myFunction(x, y, z) {
  console.log(x + y + z);
}

const arr = [1, 2, 3];

myFunction(...arr); // 6

複製陣列

const arr1 = [1, 2, 3];
const arr2 = [...arr1];

console.log(arr2); // [1, 2, 3]

展開物件

const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, c: 3 };

console.log(obj2); // { a: 1, b: 2, c: 3 }

將原物件屬性取代為新值

const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, a: 3 };

console.log(obj2); // { a: 3, b: 2 }