我使用lodash.cloneDeep()克隆了一个javascript对象。 我想更改其中一个对象属性的值,然后打印出来进行测试。但是"这个"似乎没有改变。
const object = {
id: 'old value',
toString: () => {
console.log(this.id);
},
getThis: () => {
return this;
}
}
const clonedObj = _.cloneDeep(object);
clonedObj.id = 'new value'
console.log(clonedObj.id) // returns "new value"
clonedObj.toString() // returns "old value"
console.log(cloneObj === object) // returns false
console.log(cloneObj.getThis === object) // returns true
有人可以帮助我理解这一点。