ainda nao entendi exatamente o motivo dele ter usado o getTime porque ele usou this._data = new Date(data.getTime()); ao inves de usar this._data = new Date(data);
ainda nao entendi exatamente o motivo dele ter usado o getTime porque ele usou this._data = new Date(data.getTime()); ao inves de usar this._data = new Date(data);
A primeira forma funciona em qualquer navegador, a segunda pode gerar resultado diferente.
Para saber mais
Do not use new Date(date), use new Date(date.getTime() or new Date(date.valueOf) instead since the first way can lead to differences between the dates in at least Firefox and IE (not Chrome
https://stackoverflow.com/questions/1090815/how-to-clone-a-date-object-in-javascript
obrigado professor agora eu compreendi