index.js:
import {Cliente} from "./Cliente.js";
import {ContaCorrente} from "./ContaCorrente.js";
const cliente1 = new Cliente();
cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;
const cliente2 = new Cliente();
cliente2.nome = "Alice";
cliente2.cpf = 88822233309;
const contaCorrenteRicardo = new ContaCorrente();
contaCorrenteRicardo.agencia = 1001;
contaCorrenteRicardo.cliente = cliente1;
const conta2 = new contaCorrente();
conta2.agencia = 102;
conta2.cliente = cliente2;
console.log(conta2);
Cliente.js:
export class Cliente {
nome;
cpf;
}
ContaCorrente.js:
export class ContaCorrente {
agencia;
cliente;
// #saldo =0 https://github.com/tc39/proposal-class-fields#private-fields
_saldo = 0;
sacar(valor) {
if (this._saldo >= valor) {
this._saldo -= valor;
return valor;
}
}
depositar(valor) {
if (valor <= 0) {
return;
}
this._saldo += valor;
}
}
package.json:
{
"name": "bytebank",
"version": "1.0.0",
"description": "projeto do bytebank para seus clientes",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "André",
"license": "ISC",
"type": "module"
}
Erro: const conta2 = new contaCorrente(); ^
ReferenceError: contaCorrente is not defined at file:///C:/Users/Andre%20Russo/Desktop/%C3%81rea%20de%20Trabalho/Programa%C3%A7%C3%A3o/Alura/Cursos%20Alura/JavaScript%20introdu%C3%A7%C3%A3o%20a%20Orienta%C3%A7%C3%A3o%20a%20Objetos/index.js:18:16 [90m at ModuleJob.run (internal/modules/esm/module_job.js:140:23)[39m [90m at async Loader.import (internal/modules/esm/loader.js:165:24)[39m [90m at async Object.loadESM (internal/process/esm_loader.js:68:5)[39m