es6擴充套件運算子深淺拷貝
阿新 • • 發佈:2021-11-17
如果陣列或物件中的元素只是簡單型別,一層物件或者陣列,就是深拷貝
如:
let staff1 = {name: 'xiaohong',age: 27};
let staff2 = {...staff};
staff2.name = 'xiaoming'
staff1 : {name: 'xiaohong',age: 27}
staff2:{name: "xiaoming", age: 27}
如果陣列或物件中的元素是複雜型別,就是淺拷貝
let aa = { age: 18, name: 'aaa', address: { city: "hangzhou" } } let bb = {...aa} bb.address.city = 'shanghai' aa: { age: 18, name: 'aaa', address: { city: 'shanghai' } } bb: { age: 18, name: 'aaa', address: { city: 'shanghai' } }
擴充套件運算子深複製
let cc = { age: 18, name: 'aaa', address: { city: "hangzhou" } } let dd = { ...cc, address: { ...cc.address } } dd.address.city = 'shanghai' cc: { age: 18, name: 'aaa', address: { city: 'hangzhou' } } dd: { age:18, name: 'aaa', address: { city: 'shanghai' } }