展开运算符-深拷贝

看到一篇文章,发现评论里有人说es6的展开运算符是深拷贝,于是我在chrome控制台(v64.0.3282.140)上做了个测试。

1
2
3
4
5
6
7
var cat = { parent: { age: 3 } };
var cat1 = {...cat};

cat === cat1; // false, 从这儿看指向内存的地址不同,似乎是深拷贝

cat.parent.age++;
console.log(cat1); // cat1.parent.age 为 4, 如果展开运算符是深拷贝,这儿的值应该为3.

得出结论:展开运算符不是真正的深拷贝。

截图如下:

-------------本文结束 感谢您的阅读-------------