2016-03-02 2 views
3

У меня возникла ситуация, когда я устарел до объекта даты. После изменения «expire» «object.created» изменяется, когда этого не должно быть. Почему изменяется «object.created»? Благодаря!Javascript: Дата измененного объекта

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?! 

ответ

9

Назначение ссылки на объект из одного места в другое не предполагает внесения копии. Если вы хотите полную копию даты:

let expire = new Date(object.created); 

Если вы не сделаете этого, есть только один экземпляр Дата участие; оба expire и object.created относятся к одному и тому же объекту в вашем коде.

Смежные вопросы