index.html
//criação de uma classe que representa os parâmetros necessários do cliente
import {Cliente} from "./Cliente.js";
import {ContaCorrente} from "./ContaCorrente.js";
//criação de um novo cliente
const cliente1 = new Cliente();
// atribuindo valores a variáveis da Class Cliente utilizando a variavel cliente1
cliente1.nome = "Claudio";
cliente1.cpf = 11122233301;
const cliente2 = new Cliente();
// atribuindo valores a variáveis da Class Cliente utilizando a variavel cliente2
cliente2.nome = "Rosana";
cliente2.cpf = 555533301;
// atribuindo valores a variáveis da Class Cliente
//
//exibindo no console a variavel cliente1 e cliente2
const contaCorrenteClaudio = new ContaCorrente();
contaCorrenteClaudio.cliente = cliente1;
contaCorrenteClaudio.agencia = 1001;
contaCorrenteClaudio.depositar(1000);
console.log(contaCorrenteClaudio._saldo)
const contaCorrenteRosana = new ContaCorrente();
contaCorrenteRosana.cliente = cliente2;
contaCorrenteRosana.agencia = 1001;
console.log("valor disponivel "+contaCorrenteRosana._saldo);
contaCorrenteClaudio.transferir(600,contaCorrenteRosana);
console.log(contaCorrenteRosana._saldo);
console.log(contaCorrenteClaudio._saldo);
console.log(valorTransferencia);
console.log(valorDepositado);
console.log(valorSacado);
/*
function sacarDinheiro(valorDoSaque) {
if (valorDoSaque > this.saldo) {
console.log("Voce ainda na possui o valor suficiente para esse saque de R$:" + valorDoSaque);
} else if (valorDoSaque <= contaCorrenteClaudio.saldo) {
contaCorrenteClaudio.saldo += -valorDoSaque
console.log("Voce sacou " + valorDoSaque + " seu saldo atual e de " + contaCorrenteClaudio.saldo);
} else if (valorDoSaque == undefined) {
console.log("Error valor nao digitado")
}
console.log(valorDoSaque);
}
sacarDinheiro();
*/
ContaCorrente.js
export class ContaCorrente {
agencia;
cliente;
_saldo = 0;
sacar(valorSaque) {
if (valorSaque >= this._saldo) {
console.log("Voce ainda nao possui o valor suficiente para esse saque de " + valorSaque + " R$ ");
} else {
this._saldo -= valorSaque;
console.log("Voce sacou " + valorSaque + " R$ " + "seu saldo atual e de " + this._saldo + " R$ ");
return valorSaque;
}
}
depositar(valorDeposito) {
if (valorDeposito > 0) {
this._saldo += valorDeposito;
console.log("Voce Depositou " + valorDeposito + " R$ " + "seu saldo atual e de " + this._saldo + " R$ ");
return valorDeposito;
}
}
//
transferir(valorTransferencia,conta){
const valorSacado = this.sacar(valorTransferencia);
conta.depositar(valorSacado)
return valorTransferencia;
}
}
erro code
Voce Depositou 1000 R$ seu saldo atual e de 1000 R$
1000
valor disponivel 0
Voce sacou 600 R$ seu saldo atual e de 400 R$
Voce Depositou 600 R$ seu saldo atual e de 600 R$
600
400
file:///c:/Code/Alura/JavaScript/OO%20Javascript/index.js:37
console.log(valorTransferencia);
^
ReferenceError: valorTransferencia is not defined
at file:///c:/Code/Alura/JavaScript/OO%20Javascript/index.js:37:13
at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
at async loadESM (node:internal/process/esm_loader:88:5)
at async handleMainPromise (node:internal/modules/run_main:61:12)
eu acho que o erro esta na função transferir pois o console.log(valorTransferencia) não esta sendo definido, sendo que ele e definido na contaCorrenteClaudio.transferir(600,contaCorrenteRosana);