1、赋值浅拷贝,新对象变化影响原对象
2、Object.assign()和{...obj},当对象中只有一级属性,没有二级属性的时候,此方法为深拷贝;但是对象中有二级属性的时候,此方法,在二级属性以后就是浅拷贝。
let obj={
name:'fufu',
age:36,
school:{
grade:'111'
}
}
let newobj={...obj};
newobj.name='ranran';
newobj.school.grade="222";
console.log(obj,obj1);
这样newobj的一级属性修改不会影响到原对象,但是newobj的二级属性修改就会影响原对象
image.png
网友评论