Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Metodo volume.

Em vez de criar o metodo obtemVolume eu havia feito da seguinte forma:

class Negociacao {
    constructor(data, quantidade, valor) {
        this.data = data;
        this.quantidade = quantidade;
        this.valor = valor;
        this.volume = quantidade * valor;
    }

Embora funcione, eu acredito que estaria errado por estar misturando dado com comportamento. Certo? Seria apenas uma questão de má prática ou pode gerar outros problemas no meu códido?

Obrigado.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Fala Ricardo, isso é apenas uma má prática, pois você terá um atributo que depende de outro, o legal que você pode fazer é criar um get para ele:

class Negociacao {

    constructor(data, quantidade, valor) {
        this.data = data;
        this.quantidade = quantidade;
        this.valor = valor;
    }

    get volume() {
        return quantidade * valor;
    }

}

Quem for chamá-lo nem sabe que é um getter, parece que faz parte da própria classe em forma de atributo:

const negociacao = new Negociacao(new Date(), 10, 5);
console.log(negociacao.volume);

Espero ter ajudado.

Sim. Queria reforçar a questão do entendimento da prática. Obrigado. Abs