对象 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 } };