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

[ERRO] Saldo saindo como NaN

Segue o código

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

const cliente1 = new Cliente()
cliente1.nome = 'Alice'
cliente1.cpf = 11122233345
cliente1.rg = 12345678

const cliente2 = new Cliente()
cliente2.nome = 'Ricardo'
cliente2.cpf = 11121132243
cliente2.rg = 99999999

const ContaCorrenteRicardo = new ContaCorrente()
ContaCorrenteRicardo.agencia = 1001 
ContaCorrenteRicardo.cliente = cliente2

const conta2 = new ContaCorrente()
conta2.cliente = cliente1
conta2.agencia = 102
console.log(conta2)

ContaCorrenteRicardo.depositar(100)
ContaCorrenteRicardo.depositar(-1)
console.log(ContaCorrenteRicardo.saldo)
const valorSacado = ContaCorrenteRicardo.sacar(50)
ContaCorrenteRicardo.sacar(200)
console.log(ContaCorrenteRicardo.saldo)
ContaCorrenteRicardo.depositar(500)


ContaCorrenteRicardo.transferir(200, conta2)
console.log(conta2.saldo)




console.log(ContaCorrenteRicardo.saldo)
console.log(ContaCorrenteRicardo)
console.log(cliente1)
console.log(cliente2)
export class ContaCorrente{
    agencia
    cliente
    //Private Field - # na frente torna o atributo inacessível
    // https://github.com/tc39/proposal-class-fields#private-fields
    saldo

    //MÉTODO(FUNCTION) SACAR
    sacar(valor){
        if(this.saldo >= valor){
            this.saldo -= valor;
            return valor;
        }
    }

    depositar(valor){
        //EARLY RETURN
        if(valor <= 0) return;
        this.saldo += valor;
    }
    // COMPOSIÇÃO DE CLASSE
    transferir(valor, conta){
        const valorSacado = this.sacar(valor)
        conta.depositar(valorSacado)
    }
}

export class Cliente{
    nome
    cpf
    rg
}

a saída do saldo vem como NaN

1 resposta
solução!

Consegui solucionar, era a contaCorrenteRicardo que estava gerando erro!! Deixei o código mais enxuto e funcionou perfeitamente

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

const cliente1 = new Cliente()
cliente1.nome = 'Alice'
cliente1.cpf = 11122233345
cliente1.rg = 12345678

const cliente2 = new Cliente()
cliente2.nome = 'Ricardo'
cliente2.cpf = 11121132243
cliente2.rg = 99999999

const conta1 = new ContaCorrente()
conta1.cliente = cliente1
conta1.agencia = 102
conta1.saldo = 0
console.log(conta1)

const conta2 = new ContaCorrente()
conta2.cliente = cliente2
conta2.agencia = 1001
conta2.saldo = 0
console.log(conta2)

conta2.depositar(100)
conta2.depositar(-1)
console.log(conta2.saldo)

conta2.sacar(200)
console.log(conta2.saldo)
conta2.depositar(500)


conta2.transferir(200, conta1)
console.log(conta2.saldo)
console.log(conta1.saldo)




console.log(cliente1)
console.log(cliente2)