浅拷贝:共用一个内存地址,数据随原数据发生变化
深拷贝:新开辟一个地址,数据与原数据互不影响
基本数据类型:string,number,boolean等赋值默认发生深拷贝
引用数据类型:array,object,function默认赋值发生浅拷贝
展开运算符和object.assign({},obj)对于只有一层的数组和对象数据为深拷贝,超过一层为浅拷贝
深拷贝方法:
1,const newData=JSON.parse(JSON.stringify(data))
2,自己封装方法(循环,递归)
3,import cloneDeep from 'lodash.clonedeep'
const newData= cloneDeep(data)