对于深拷贝和浅拷贝的一些理解
浅拷贝
//A申明了一个引用类型,存储在堆内存
let A = {name:'AAA'};
// ## 这个时候只是把B也指向了A的堆内存
let B = A;
//So,B改变的时候,其实改变的是A和B共存的一块堆内存
B.name = 'BBB';
//最后无论是打印出A还是B,都是一样的
console.log(A.name)//BBB
console.log(B.name)//BBB
深拷贝
//利用JSON.stringify和JSON.parse实现
let A = { name:'AAA' };
//B使用JSON.stringify把关于A下面所有的都拷贝过来了
let B = JSON.stringify(A);
//之后再转换为对象
// ## 这个时候,B相当于重新申请了一块堆内存
B = JSON.prase(B);
// ## 这个时候,B再进行改变的时候,只是改变了B内存里面的name
//相应的A内存里面的name并不会改变
B.name = 'BBB';
console.log(A.name)//AAA
console.log(B.name)//BBB
## 浅拷贝只是两个对象同时指向了一块内存
## 深拷贝则是分开了两个内存,两个内存的值改变互不影响
最后附上原文链接:传送门