Javascript:日期对象被更改

ema*_*rel 3 javascript variables date object

当我设置到期日期对象时,我遇到了这种情况.更改'expire'后,'object.created'会在不应该更改时更改.为什么'object.created'会改变?谢谢!

let expire = object.created; // object.created: Wed Mar 02 2016
expire.setDate(12);

console.log(expire); // Wed Mar 12 2016
console.log(object.created); //Wed Mar 12 2016 <-- WHY?!
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 9

将对象的引用从一个地方分配给另一个地方不涉及制作副本.如果您想要完整的日期副本:

let expire = new Date(object.created);
Run Code Online (Sandbox Code Playgroud)

如果你不这样做,那么只涉及一个Date实例; 双方expireobject.created指向同一个对象在你的代码.