Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Variável com valor NaN.

Criei a classe Conta e abaixo dela fiz um teste dos métodos de sacar e depositar, mas ao rodar o código no PowerShell, obtive o seguinte retorno:

"PS C:\workspace\alura\javascript\orientacao-objetos> node .\Conta.js

NaN

Saldo insuficiente.

NaN

Saldo insuficiente.

NaN"

Por qual razão o valor do saldo da conta está retornando NaN?

Segue abaixo o código em questão.

class Conta {
    agencia;
    saldo;
    cliente;

    depositar(valor) {
        this.saldo += valor;
    }

    sacar(valor) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
        } else {
            console.log("Saldo insuficiente.");
        }
    }
}

conta = new Conta();

conta.depositar(500);
console.log(conta.saldo);

conta.sacar(450);
console.log(conta.saldo);

conta.sacar(75);
console.log(conta.saldo);
1 resposta
solução!

Olá Luan,

Isso acontece por que você não inicializou a variável "saldo" e o Javascript não entende que ela é um número.

Se você inicializar a variavel tudo deve funcionar normalmente:

class Conta {
    agencia;
    saldo = 0;
    cliente;

    depositar(valor) {
        this.saldo += valor;
    }

    sacar(valor) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
        } else {
            console.log("Saldo insuficiente.");
        }
    }
}

Abraço.