js的深拷贝与浅拷贝

理解这个之前我们需要对js的数据类型,堆内存和栈内存做好充分的理解
深拷贝与浅拷贝的概念:
深拷贝可以理解为指向两个不同的内存地址
浅拷贝可以理解为指向同一个内存地址

下面是一个浅拷贝的例子:
数组的浅拷贝:
var arr=[1,2,3],arr1=[];
arr1=arr;
arr1[0]=0;
console.log(arr)=> [0, 2, 3];

对象的浅拷贝:
var obj={a:1};
var obj1=obj;
obj1.b=2;
console.loh(obj)=>{a: 1, b: 2}

js的深拷贝与浅拷贝
数组实现深拷贝的一些方法
1.concat()
2.slice()
3.es6的扩展运算符
4.遍历复制

对象实现深拷贝的一些方法

  1. JSON.parse(JSON.stringify())
  2. 递归方法
  3. 扩展运算符
  4. Object.assign()