物件 restspread(...)

Version > 7

物件傳播只是 Object.assign({}, obj1, ..., objn); 的語法糖

它是通過 ... 運算子完成的:

let obj = { a: 1 };

let obj2 = { ...obj, b: 2, c: 3 };

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

作為 Object.assign,它會進行淺層融合,而不是深度融合。

let obj3 = { ...obj, b: { c: 2 } };

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

注意該規範目前處於第 3 階段