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