我记得能够像这样的传播操作符克隆一个对象:
let obj1 = {
key: 'value',
key2: 'value2'
}
let obj2 = { ...obj1 }
但是现在我意识到这不起作用,因为我正在尝试更改obj2的值,并且还更改了obj1中的值。
如果我这样做了:
obj2.key2 = 'test'
它将obj1.key2也更改为“ test”。
为什么会这样呢?
我也试着做:
let obj2 = Object.assign({}, obj1)
但我面临同样的问题。
谢谢
let obj1 = {
key1: 'value1',
key2: 'value2'
}
let obj2 = { ...obj1 }
obj2.key2 = 'changed key2 value'
console.log( obj1.key2 == obj2.key2 )
炎炎设计
相关分类