1
resposta

Por que adicionar novamente o new Date?

Olá, boa noite. Eu estava terminando o capitulo "Especificando uma Negociação" e enquanto eu estava tentando entender o retorno de uma nova instância que o professor havia explicado, eu me deparei com a seguinte situação:

No código abaixo, quando eu tirei o new Date(data.getTime()); da propriedade this._data, ele funcionou da mesma forma, sem fazer a alteração na data passada.

class Negociacao {

    constructor(data, quantidade, valor) {

        this._data = new Date(data.getTime()); // criando uma nova instância a partir do tempo de uma data 
        this._quantidade = quantidade;
        this._valor = valor;
        Object.freeze(this);
    }

    get volume() {
        return this._quantidade * this._valor;
    }

    get data() {
        return new Date(this._data.getTime());
    }

    get quantidade() {
        return this._quantidade;
    }

    get valor() {
        return this._valor;
    }
}

var negociacao = new Negociacao(new Date(), 1, 100);

console.log(negociacao.data);

Queria saber se realmente é realmente necessário o new Date(data.getTime()) e o porque, caso for. Obrigado!

1 resposta

Boa noite, erro estranho! talvez sua data antiga estava em cache por isso não deu diferença.