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}}