2020-11-17

2020-11-17  本文已影响0人  lynPositive

浅拷贝,深拷贝
针对深拷贝,需要使用其他办法,因为 Object.assign()拷贝的是属性值。假如源对象的属性值是一个对象的引用,那么它也只指向那个引用。
Object.assign()
eg: let obj1 = {a:1};
      let obj2 = {};
      let obj3 = Object.assign(obj2, obj1);
      obj1.a = 3;
      // console.log(obj1); {a:3}
     // console.log(obj2); {a:1}
    // console.log(obj3); {a:1}
eg:let obj1 = {a:{b:2}};
     let obj3 = Object.assign(obj2, obj1);
     obj1.a.b = 3;     
      // console.log(obj1); {a:{b:3}} 
     // console.log(obj2); {a:{b:3}}
     // console.log(obj3); {a:{b:3}}

上一篇下一篇

猜你喜欢

热点阅读