Boa tarde, Segui o procedimento para contagem de conta corrente mas retorna seguinte erro:
file:///home/tiago/Documentos/Personal_Projects/Alura/javascript_OO/ContaCorrente.js:7
ContaCorrente.numeroDeContaCorrente += 1;
^
TypeError: Cannot create property 'numeroDeContaCorrente' on string '12345-6'
at new ContaCorrente (file:///home/tiago/Documentos/Personal_Projects/Alura/javascript_OO/ContaCorrente.js:7:45)
at file:///home/tiago/Documentos/Personal_Projects/Alura/javascript_OO/index.js:7:11
at ModuleJob.run (internal/modules/esm/module_job.js:169:25)
at async Loader.import (internal/modules/esm/loader.js:177:24)
at async Object.loadESM (internal/process/esm_loader.js:68:5)
Meu codigo :
ContaCorrente.js
export class ContaCorrente {
static numeroDeContaCorrente = 0;
constructor(cliente = null, agencia, ContaCorrente) {
this.cliente = cliente;
this.agencia = agencia;
this.ContaCorrente = ContaCorrente;
ContaCorrente.numeroDeContaCorrente += 1;
}
saldo = 0;
sacar(valor) {
if (valor > this.saldo) {
console.log("Saldo insuficiente");
return;
}
this.saldo -= valor;
}
depositar(valor) {
if (valor <= 0) {
console.log(`${valor} não é valido para Deposito`);
return;
}
this.saldo += valor;
}
transferir(valor, conta) {
try {
if (valor <= 0) {
console.log(`${valor} não é valido para Transferência`);
return;
}
if (!conta) {
console.log(`Conta de destino ${conta} não encontrada`);
return;
}
this.sacar(valor);
conta.depositar(valor);
}
catch (e) {
console.log(e);
}
}
}
index.js
import {Cliente} from './Cliente.js';
import {ContaCorrente} from './ContaCorrente.js';
const c = new ContaCorrente(new Cliente("João", "123.456.789-10"), "123", "12345-6");
c.depositar(1000);
c.sacar(500);
console.log(c);
const c2 = new ContaCorrente(new Cliente("Maria", "987.654.321-10"), "456", "45678-9");
c2.depositar(1000);
c2.transferir(500, c);
console.log(c2);
console.log(c);
console.log(ContaCorrente.numeroDeContaCorrente);