关于vue中深拷贝与浅拷贝的理解

抽象的理解拷贝,类似于我们创建了一个文件的快捷方式,复制了原文件的地址,并没有开辟新的内存空间。仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来的对象也会相应的改变。

(shallowCopy )浅拷贝是否开辟了新的内存空间
对于浅拷贝的实现方式:
1.使用扩展运算符实现数组及对对象的浅拷贝
2.Object.assgin
3.使用数组的slice方法
4.自定义函数遍历
5.使用第三方插件lodash.js(提供的clone方法)

深拷贝是抽象了解

深拷贝更像是复制一个文件,修改其中任意一个文件,双方都不会影响,拷贝的是值,开辟了新的内存空间。

(deepCopy)深拷贝是否开辟了新的内存空间
对于深拷贝的实现方式:
1.JSON.Stringify   JSON.parse
2.使用lodash.js   cloneDeep方法
3.自定义递归书写对应的深拷贝

你可能感兴趣的:(vue.js,前端,javascript)