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

Saida de saldo está dando not a number!!!

Boa Noite,

Estou tendo o seguinte problema na saída do meu código, o saldo não aparece como um número valido:

import {Cliente} from "./Cliente.js";
import {ContaCorrente} from "./ContaCorrente.js";

const cliente1 = new Cliente();
cliente1.nome = "Ricardo";
cliente1.cpf  = 11122243456;


const cliente2 = new Cliente();
cliente2.nome = "Alice";
cliente2.cpf  = 990088776612;

const contaCorrenteRicardo = new ContaCorrente();
contaCorrenteRicardo.agencia = 1001; 
contaCorrenteRicardo.cliente = cliente1;
contaCorrenteRicardo.depositar(500);


const conta2 = new ContaCorrente();
conta2.agencia = 102;
conta2.cliente = cliente2;



contaCorrenteRicardo.transferir(200, conta2);

console.log(conta2);
console.log(contaCorrenteRicardo);
4 respostas

A saída no terminal:

ContaCorrente {
  agencia: 102,
  cliente: Cliente { nome: 'Alice', cpf: 990088776612 },
  _saldo: NaN
}
ContaCorrente {
  agencia: 1001,
  cliente: Cliente { nome: 'Ricardo', cpf: 11122243456 },
  _saldo: 500
}

Boa noite.

Como está o seu método de transferir? provavelmente o problema está lá.

Esqueci de mostrar a outra parte do meu código... :

export  class ContaCorrente {
    agencia;
    cliente;


    //#saldo = 0     
    //Atriibuto privado
    _saldo = 0;

    sacar(valor){
        if(this.saldo >= valor){
            this._saldo -= valor;
            return valor;
        }
    }

    depositar(valor){
        if(valor<=0){
            return;
        }

        this._saldo += valor;
    }

    transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }

}
solução!

Olha verdade Jandson, revisei aqui e achei estava na linha do primeiro if

     if(this.saldo >= valor){

Faltou definir a propriedade saldo, como uma propriedade privada, ou seja, falou o "underline" _ .

Fico muito grato pela dica!!!