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

Por que quando faço a instância de uma classe meu navegador mostra duas vezes a quantidade ?

Olá, boa noite! Após executar a instancia do objeto meu navegador está mostrando dois atributos 'quantidade', isso tem algum problema ?

// Criando uma classe em JavaScript
class Negociacao{

    // criando um contrutor 
    constructor(){
    // adicionando as caracteristicas de uma negociação
        this.data = new Date();
        this.quatidade = 1;
        this.valor = 0.0;

    }
}
     // Instanciando um objeto
        var n1 = new Negociacao();
        n1.quantidade = 100;
        console.log(n1);

        // Instanciando um objeto
        var n2 = new Negociacao();
        n2.quantidade = 200;
        console.log(n2);

Resultado do Console do Navegador:

Negociacao {data: Tue Jul 24 2018 22:35:47 GMT-0300 (Horário Padrão de Brasília), quatidade: 1, valor: 0, quantidade: 100}

index.html:73 Negociacao {data: Tue Jul 24 2018 22:35:47 GMT-0300 (Horário Padrão de Brasília), quatidade: 1, valor: 0, quantidade: 200}

Grato desde já!

2 respostas
solução!

Boa noite!

Veja como a propriedade foi declarada:

this.quatidade

Está escrito errado. Daí quando você faz

n1.quantidade = 100;

O javascript não encontra a propriedade e acaba criando-a dinamicamente. Por isso você fica com as propriedades quantidade e quatidade.

Basta corrigir na propriedade da classe para o resultado ser o esperado.

Poxa, verdade ! Muito Obrigado Flávio, agora ficou certinho! Abraço!