浅拷贝和深拷贝

46 阅读1分钟

浅拷贝

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存

   let arr = {
      name: '小明',
      age: 35
    }
    arr.age = 18
    let a = arr
    console.log(arr);   //age: 18 ,name: "小明"
    console.log(a);   //age: 18 ,name: "小明"

深拷贝

深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象

    let arr = {
      name: '小明',
      age: 35
    }
    let a = JSON.parse(JSON.stringify(arr))
    arr.age = 18
    console.log(arr); //age: 18 name: "小明"
    console.log(a);//age: 35 name: "小明"