#每天一个知识点#
object.assign和扩展运算法是深拷贝还是浅拷贝,两者有什么区别?

两者都是浅拷贝。
Object.assign() 方法接收的第一个参数作为目标对象,后面的所有参数作为源对象。然后把所有的源对象合并到目标对象中。它会修改了一个对象,因此会触发 ES6 setter。
使用扩展操作符时,数组或对象中的每一个值都会被拷贝到一个新的数组或对象中。它不复制继承的属性或类的属性,但是它会复制ES6的 symbols 属性。
展开
评论