Assim como os demais, meu retorno após a transferência é NaN, porém mesmo analisando o código e problema dos colegas, não encontrei o erro.
Index.JS
import { Cliente } from "./Cliente.js";
import { ContaCorrente } from "./ContaCorrente.js";
const cliente1 = new Cliente ();
cliente1.nome = "Ricardo";
cliente1.cpf = 11133355579;
const contaCorrenteRicardo = new ContaCorrente ();
contaCorrenteRicardo.agencia = 1001;
contaCorrenteRicardo.cliente = cliente1;
contaCorrenteRicardo.depositar(500); //Depósito na conta do Ricardo
const cliente2 = new Cliente ();
cliente2.nome = "Alice";
cliente2.cpf = 22244466680;
const contaCorrenteAlice = new ContaCorrente ();
contaCorrenteAlice.agencia = 1001;
contaCorrenteAlice.cliente = cliente2;
contaCorrenteRicardo.transferir(200,contaCorrenteAlice); //Transferência para conta da Alice
// Valor está sendo sacado, mas não depositado
console.log(contaCorrenteRicardo);
console.log(contaCorrenteAlice);
Cliente.JS
export class Cliente {
nome;
cpf;
}
ContaCorrente.JS
export class ContaCorrente {
agencia;
cliente;
_saldo = 0;
depositar (valor) {
if (valor < 0) {
return
}
this._saldo += valor;
}
sacar (valor) {
if (this._saldo >= valor) {
this._saldo -= valor;
} else {
console.log('Saldo insuficiente');
}
}
transferir (valor, conta) {
const valorSacado = this.sacar(valor);
conta.depositar(valorSacado);
}
}