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

ReferenceError: conta is not defined

Index.js

// para ser uma proposta PRIVADA use # antes de classe !!!!!!!! ou use o _ na frnte da classe
//para evitar repeticções usando a const use a class e coloque dentro o conteudo

//Separamos em módulos para ficar mais organizado, eles sempre começam com letras maiusculas
//agora vamos importar o arquivo aqui

import{Cliente} from "./Cliente.js"
import{ContaCorrente} from "./ContaCorrente.js"
import { ContaPoupança } from "./ContaPoupança.js"

//Para resolver o erro SyntaxError: Cannot use import statement outside a module use no terminao "npm init"

//para usar a class use new "o nome da class"
let numeroDeContas = 0
const cliente1 = new Cliente("Ricardo", 8232131322, 21302139012)
const cliente2 = new Cliente("Alice", 23013012312, 2139139819)
const contaCorrenteRicardo = new ContaCorrente(0, cliente1, 102)
contaCorrenteRicardo.depositar(500)
contaCorrenteRicardo.sacar(200)
const conta2 = new ContaCorrente(cliente2, 102);


const contaPoupança = new ContaPoupança(50, cliente1, 1010)

contaPoupança.sacar(20)

const conta = new Conta(1, cliente1, 1002)

console.log(Conta)

///////console.log(ContaCorrente.numeroDeContas)

//nao precisamos mais dessas linhas por conta do construtor que usamos para polpar codigo
//cliente1.nome = "Ricardo"
//cliente1.cpf = 11122233345
//cliente1.rg = 2131231231
//contaCorrenteRicardo.agencia = 1001;
//contaCorrenteRicardo.cliente = cliente1;

//numeroDeContas++






//ContaCorrenteRicardo.agencia = 1001
//ContaCorrenteRicardo.cliente = cliente1
//ContaCorrenteRicardo.depositar(1000)




//numeroDeContas++

//cliente2.nome = ;
//cliente2.cpf = 88822233309;


//conta2.cliente = cliente2;
//conta2.agencia = 102;









//Se nao colocarmos o return.valor na logica do contacorrente vamos ter um erro "Undefined"






//const pessoa = {
//    Nome: "William",
//    Idade: 19
//}
//
////os 3 pontos ... serve para juntar o codigo passado com o nome sem que fique na cara que eles estao em linhas diferentes, ele quebra a lista e junta com outra lista, fazendo com que duas listas virem apenas uma
//
//const pessoaComTelefone = {...pessoa, Telefone: 2020202020,}
//
////console.log(pessoaComTelefone)
//
//
////Ele pega a variavel nome da lista de pessoa
////const {O que voce quer que ele pegue} = de onde vocee quer que ele pegue
//const {Nome} = pessoa
//const {Telefone} = pessoaComTelefone
//
////console.log(Nome)
//
//imprimeDados(pessoa, pessoaComTelefone)
//
//function imprimeDados({Nome, Idade, pessoaComTelefone}){
//    //Podemos imprimir só o que queremos usando o que aorendemos, const { o que queremos imprimir } = de onde
//    console.log(Nome, Idade, Telefone)
//}
//
//

Conta.js

export class Conta{
    constructor(saldoInicial, cliente, agencia){
        this._saldo = saldoInicial
        this._cliente = cliente
        this._agencia = agencia

        //Para evitar que criem contas na index
        if(this.constructor == Conta){
            console.log("Você não pode cirar contas aqui")
        }
    }

    sacar(valor){
        //Vamos adicionar uma taxa no valor

        let taxa = 1
        return this._sacar(valor, taxa)
    }

    _sacar(valor, taxa){
        const valorSacado = taxa * valor
        //ao inves de usar contacorrente.nomedapessoa, vamos usar this para falar que é "This, dessa conta"
        if(this._saldo > valor){
            this._saldo -= valor
            //return faz o codigo parar, ele para de ler depois que a função for verdadeira

            //podiamos substituir o código por if()

            return valorSacado
        }else{
            console.log("Você não tem saldo suficiente para sacar")
            return 0;
        }
    }

    depositar(valor){
        if(valor <= 0){
        //return faz o codigo parar, ele para de ler depois que a função for verdadeira
            return 
            //podiamos substituir o código por if(valor <= 0) return, o inverso da função ja que se ela fosse verdadeira o codigo parava de funcionar, o return esta vazio porque ele nao deve retornar um valor, somente parar o código
            //this._saldo += valor
        }
        this._saldo += valor
    }
    transferir(valor, conta){
        conta.cidade = "Sergipe"
        const valorSacado = this.sacar(valor)
        conta.depositar(valorSacado)
        //Para fazer com que não possamos transferir o dinhiuero de uma conta salario use o return
        //if(this._tipo == "salario"){
        //    return
        //}
    }
}

Ele ja está definido, não entendi o porque do erro

1 resposta
solução!

Esqueceu de importar a Classe Conta?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software