object.assign
- 是浅拷贝
- 第一个参数作为目标对象
- 其余参数作为源对象
- 会修改目标对象,并返回目标对象
- 后面参数对象的属性覆盖前面的对象的重复属性
- 会修改一个对象,会触发 es6 setter
除了object.assign之外,还可以使用对象的解构实现浅拷贝,请参考这篇文章
扩展运算符
- 数组或对象的每一个值都会被拷贝到新的数组或对象中
- 不会复制继承的属性和类的属性
- 但是会复制 es6 的 symbol 属性
除了object.assign之外,还可以使用对象的解构实现浅拷贝,请参考这篇文章