使用解构符拷贝对象的问题

我现在一直把解构符当作深拷贝方法来用,但今天发现一个问题

var orign = {
    a: 1,
    b: {
         c: 1
    }
}
var c1 = { ...orign }
var c2 = { ...orign }

c1, c2, orign 中的a 属性是不相关的,但是,因为b 属性是对象类型,引用的是同一个对象
所以此时c1, c2, orign 中的b 属性还是会互相影响的

说明解构符 跟 深拷贝 还是有区别的
只有在一个对象的属性全部为基本数据类型时 解构符 才能代替深拷贝方法

你可能感兴趣的:(使用解构符拷贝对象的问题)