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);
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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