1、复制对象:使用扩展运算符复制对象时是浅拷贝
//复制对象:使用扩展运算符复制对象时是浅拷贝 const obj1 = { a:1, b:2, d:{ aa:1, bb:2 } } const obj2 = { c:3, a:9 } const cObj1 = {...obj1}; console.log(cObj1.d.aa); //1 cObj1.d.aa = 999; console.log(cObj1.d.aa); //999 console.log(obj1.d.aa); //999
2、合并对象时,当有相同属性名时,保留靠后的那一个
//代码接上 //合并对象:当有相同属性名时,保留靠后的那一个 const newObj = { ...obj1, ...obj2 }; newObj.d.aa = 22; //合并对象时也是浅拷贝 console.log(obj1); //22