Olá, estou com problema ao alterar o nome de "cliente" para "_cliente" em ContaCorrente.js eu perco a referência de cliente no index.js, pois aparece cliente está indefinido.
Erro no powershell:
conta1.cliente.nome = "Ricardo"; ^
TypeError: Cannot set properties of undefined (setting 'nome')
index.js
import { Cliente } from "./Cliente.js";
import { ContaCorrente } from "./ContaCorrente.js";
const conta1 = new ContaCorrente();
conta1.agencia = 1001;
conta1.cliente = new Cliente();
conta1.cliente.nome = "Ricardo";
conta1.cliente.cpf = 12345678912;
const conta2 = new ContaCorrente();
conta2.agencia = 1001;
conta2.cliente = new Cliente();
conta2.cliente.nome = "Alice";
conta2.cliente.cpf = 98765432100;
conta1.depositar(500);
conta1.transferir(200, conta2);
console.log(conta1);
console.log(conta2);
console.log(conta3);
ContaCorrente.js
export class ContaCorrente {
agencia;
_cliente;
set cliente(novoValor) {
this._cliente = novoValor;
}
_saldo = 0;
sacar(valor) {
// se o cliente não tem saldo para saque, a função retorna(encerra) antes de deser debitado algum valor da conta
if(this._saldo < valor) return;
this._saldo -= valor;
return valor;
}
depositar(valor) {
if(valor <= 0) return;
this._saldo += valor;
return valor;
}
transferir(valor, conta) {
if(valor > this._saldo) return;
const valorSacado = this.sacar(valor);
conta.depositar(valorSacado);
return valorSacado;
}
}