Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

UNDEFINED '_'

todos os valores saem como undefined '-'

Index.js

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

const cliente0 = new Cliente("Ricardo", 11122233309);
const cliente1 = new Cliente("Alice", 88822233309);
const contaCorrente0 = new ContaCorrente();
const contaCorrente1 = new ContaCorrente();

contaCorrente0.agencia = 1001;
contaCorrente0.cliente = cliente0;
contaCorrente0.depositar(500);
contaCorrente1.transferir(50, contaCorrente0);
contaCorrente0._saldo;


contaCorrente1.agencia = 1001;
contaCorrente1.cliente = cliente1;
contaCorrente0.transferir(150, contaCorrente1);
contaCorrente1._saldo;

console.log(contaCorrente0);
console.log(" ");
console.log(contaCorrente1);

Cliente.js

export class Cliente
{
  nome;
  _cpf;

  get nome()
  {
    return this.nome;
  }

  get cpf()
  {
    this._cpf;
    return _cpf;
  }

  construtor(nome, cpf)
  {
    this.nome = nome;
    this._cpf = cpf;
  }


}

ContaCorrente.js

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

export class ContaCorrente
{
  agencia;
  cliente;
  _saldo = 0;

  set cliente(novoValor)
  {
    if(novoValor instanceof Cliente)
    {
      this.cliente = novoValor;
    }
  }

  get cliente()
  {
    return this.cliente;
  }

  get saldo()
  {
    return this._saldo;
  }

  mostrarAgencia(agencia)
  {
    agencia = this.agencia;
    return agencia;
  }

  sacar(valor)
  {
    if(this._saldo >= valor)
    {
      this._saldo -= valor;
      return valor;
    }
  }

  depositar(valor)
  {
    if(valor > 0)
    {
        this._saldo += valor;
        return valor;
    }

  }

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

}
2 respostas
solução!

Opa Shayron!

Acredito que o problema seja no arquivo Cliente.js, no lugar de "construtor" você deve colocar "constructor" (sem as aspas) e o código deve voltar a funcionar normalmente.

obrigado.

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