js的浅拷贝与深拷贝

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的扩展运算符操作列子:

js的浅拷贝与深拷贝_第1张图片
image

{...data}:

1.如果data里面的数据是基本类型(没有引用类型),则是深拷贝;

2.如果data的数据包含引用类型,则是一个浅拷贝(对于第一层的基本类型数据来说是深拷贝,第一层进行了一次赋值)

你可能感兴趣的:(js的浅拷贝与深拷贝)