Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro conta is not defined

Olá não consigo obter o mesmo resultado da aula, uma vez que recebo a resposta "file:///D:/Diego/cursos/Alura/Javascript/Curso-JavaScript%20programando%20a%20Orienta%C3%A7%C3%A3o%20a%20Objetos/ContaCorrente.js:26 conta.depositar(valorSacado); ^

ReferenceError: conta is not defined at contaCorrente.transferir (file:///D:/Diego/cursos/Alura/Javascript/Curso-JavaScript%20programando%20a%20Orienta%C3%A7%C3%A3o%20a%20Objetos/ContaCorrente.js:26:9)"

Segue o código index.js

import {Cliente} from "./Cliente.js"
import {contaCorrente} from "./ContaCorrente.js"

const cliente1 = new Cliente();
cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;
// cliente1.agencia = 1001;
// cliente1.saldo = 0;

const cliente2 = new Cliente();
cliente2.nome = "Alice";
cliente2.cpf = 88822233309;
// cliente2.agencia = 1001;
// cliente2.saldo = 0;

const cliente3 = new Cliente();
cliente3.nome = "João";
cliente3.cpf = 99922233309;
// cliente3.saldo = 0;
// cliente3.agencia = 1001;

const contaCorrenteRicardo = new contaCorrente();
contaCorrenteRicardo.agencia = 1001;
contaCorrenteRicardo.cliente = cliente1;
// contaCorrenteRicardo.saldo = 0;

// console.log(contaCorrenteRicardo.saldo);
// contaCorrenteRicardo.#saldo = 10000;
// console.log(contaCorrenteRicardo.saldo);
// let valorSacado = 50;
// contaCorrenteRicardo.sacar(10);
// contaCorrenteRicardo.depositar(50);

// const valorSacado = contaCorrenteRicardo.sacar(10);

const conta2 = new contaCorrente();
conta2.cliente = cliente2;
conta2.agencia = 104;

contaCorrenteRicardo.depositar(500);
contaCorrenteRicardo.transferir(200, conta2);

console.log(conta2);

ContaCorrente.js

export class contaCorrente{
    agencia;
    cliente;

    _saldo = 0;

    sacar(valor){
        if (this._saldo >= valor){  // # torna atributo privado, e não editavel fora da classe ou visivel, _ serve tambem para indicar atributo privado
        this._saldo -= valor;
        console.log(this._saldo);
        return valor;
        }
    }

    depositar(valor){
        if (valor >= 0){
        this._saldo += valor;
        console.log(this._saldo);
        }else{
            console.log("Valor inválido");
        }
    }

    transferir(valor){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }
}
1 resposta
solução!

Agora me sinto estupido. Quebrei a cabeça por horas, e acho a resposta 5 minutos depois de postar a pergunta. Percebi que nao coloquei conta dentro de Trasnferir. Depois que alterei, funcionou. Correto seria.

transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);