console.log显示数据与展开运算符显示数据不一致

如图,console.log后台显示的数据与展开后不一致,源代码如下

造成该问题原因是深拷贝与浅拷贝的问题。

深拷贝与浅拷贝的区别:深拷贝在于引用类型的时候,浅拷贝只复制地址值,实际上还是指向同一堆内存中的数据,深拷贝则是重新创建了一个相同的数据,二者指向的堆内存的地址值是不同的。这个时候修改赋值前的变量数据不会影响赋值后的变量。

可以通过深拷贝的JSON方法解决该问题,如下

原文地址:https://www.cnblogs.com/wh2020/p/13494472.html