我现在一直把解构符当作深拷贝方法来用,但今天发现一个问题
var orign = {
a: 1,
b: {
c: 1
}
}
var c1 = { ...orign }
var c2 = { ...orign }
c1, c2, orign 中的a 属性是不相关的,但是,因为b 属性是对象类型,引用的是同一个对象
所以此时c1, c2, orign 中的b 属性还是会互相影响的
说明解构符 跟 深拷贝 还是有区别的
只有在一个对象的属性全部为基本数据类型时 解构符 才能代替深拷贝方法
网友评论