Está certo aparecer "undefined" se eu colocar console.log(conta1); console.log(conta2)? Ou estou fazendo algo errado?
O que aparece no meu terminal: MacBook-Air-de-Fernando:onedrive fernandocianciarulo$ node /Users/fernandocianciarulo/OneDrive/JavaScript/39_IIndecClienteCC.js ContaCorrente { agencia: 10045, _cliente: undefined, _saldo: 300 } ContaCorrente { agencia: 1001, _cliente: undefined, _saldo: 200 }
Cliente.js
export class Cliente {
nome;
_cpf;
get cpf(){
return this._cpf;
}
constructor(nome, cpf){
this.nome = nome;
this._cpf = cpf;
}
}
ContaCorrente,js
import { Cliente } from "./34_Cliente.js";
export class ContaCorrente {
agencia;
_cliente;
set cliente(novoValor){
if(novoValor instanceof Cliente) {
this._cliente = novoValor;
}
}
get cliente(){
return this._cliente
}
_saldo = 0;
get saldo(){ //protege que seja atribuído valores ao saldo!
return this._saldo;
}
constructor(agencia, cliente){
this.agencia = agencia;
this.cliente = cliente;
}
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);
}
}
IndexClienteCC.js
import {Cliente} from "./37_CCliente.js"
import {ContaCorrente} from "./38_CContaCorrente.js"
const cliente1 = new Cliente(`Fernando`, 2345);
const conta1 = new ContaCorrente(10045, cliente1);
const cliente2 = new Cliente(`Lara`, 7654);
const conta2 = new ContaCorrente(1001, cliente2);
conta1.depositar(500);
let valor = 200;
conta1.transferir(valor, conta2);
console.log(conta1);
console.log(conta2);