对象 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 阶段