js的浅拷贝与深拷贝
涉及知识点:
js中的数据类型(基本类型,引用类型)
js中的存储数据的堆栈相关知识点;
下面仅仅是一个简单的分析,更多的知识点还需深入去了解。
let data={
id:1,
arr:[1,2]
}
浅拷贝
仅仅是将引用类型的引用地址复制了一次;
let data2=data1;
深拷贝
1.循环遍历
2.JSON.stringify & JSON.parse
let data3=JSON.parse(JSON.stringify(data1));
more(es6的扩展运算符)
let data4={...data1}
下面是一个es6的扩展运算符操作列子:
{...data}:
1.如果data里面的数据是基本类型(没有引用类型),则是深拷贝;
2.如果data的数据包含引用类型,则是一个浅拷贝(对于第一层的基本类型数据来说是深拷贝,第一层进行了一次赋值)