2
respostas

Boa Noite, esse é meu código, e quando aperto F8 o _balance do clientTwo mostra NAN, não consigo encontrar o erro e aposto que deve ser coisa mínima, mas preciso de ajuda, por favor!

class Client{ name; doc; }

class AccountCurrent{ agency; _balance = 0; // private

withdrawMoney(value){
    if (this._balance >= value) {
        this._balance -= value;
    }
}

deposity(value){
    if (value <= 0) return;
    this._balance += value;
} 

transfer(value, account){
    const valueWithdraw = this.withdrawMoney(value);
    account.deposity(valueWithdraw);
}

}

const clientOne = new Client(); clientOne.name = "Jessica"; clientOne.doc = 44455566677;

const clientTwo = new Client(); clientTwo.name = "Adriano"; clientTwo.doc = 33344455500;

const clientOneAccount = new AccountCurrent(); clientOneAccount.agency = 8888; clientOneAccount.client = clientOne; clientOneAccount.deposity(500);

const clientTwoAccount = new AccountCurrent(); clientTwoAccount.agency = 6666; clientTwoAccount.client = clientTwo;

clientOneAccount.transfer(200, clientTwoAccount); console.log(clientTwoAccount);

2 respostas

Provavelmente os seus dados não estão sendo tratados como número, afinal, o erro NaN (Not a number).

Recomendo que utilize o método typeof() para verificar o que são esses dados e , caso realmente não sejam números faça um casting (conversão) para o tipo numérico.

para realizar o tal casting, pode utilizar tanto Number(o que deseja converter); ou Number.ParseInt, Number.Parsefloat.

Espero ter ajudado.

new Saudacoes();

; )

Consegui descobrir o erro, a function withdrawMoney estava sem return.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software