Javascript对象值不会改变es6

时间:2017-05-20 13:15:09

标签: javascript ecmascript-6 this lodash

我使用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

有人可以帮助我理解这一点。

0 个答案:

没有答案