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

Funçao depositar não é reconhcida

Bom dia, estou com problema na função de transferir, o codigo entende tudo até chegar na "conta.depositar(valorSacado)", quando eu inicio o programa no powershell recebo a seguinte mensagem: "TypeError: conta.depositar is not a function"

export class contaCorrente {
  cliente;
  agencia;

  saldo = 0;

  sacar(valor) {
    if (this.saldo >= valor) {
      this.saldo -= valor;
      return valor;
    } else {
      console.log("Você não tem saldo para sacar");
    }
  }
  depositar(valor) {
    if (valor <= 0) {
      return;
    }
    this.saldo += valor;
  }

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

Boa tarde!

Compartilha aqui também o js em que você chama o transferir.

Pode ser algum erro na variável conta.

Bons estudos!

Boa tarde, segue o js.

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

const cliente1 = new cliente();
const contaCorrenteRicardo = new contaCorrente();
cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;
contaCorrenteRicardo.agencia = 1001;
contaCorrenteRicardo.cliente = cliente1;

const cliente2 = new cliente();
const contaCorrenteAlice = new contaCorrente();
cliente2.nome = "Alice";
cliente2.cpf = 8882223309;
contaCorrenteAlice.agencia = 1001;
contaCorrenteAlice.cliente = cliente2;

contaCorrenteAlice.depositar(1000);

const valorSacado = contaCorrenteAlice.sacar(500);

contaCorrenteAlice.transferir(250, cliente1);

console.log(contaCorrenteAlice);
console.log(contaCorrenteRicardo);
solução!

Boa tarde!

Na antepenúltima linha você está passando o seguinte:

contaCorrenteAlice.transferir(250, cliente1);

Aí você não passa uma conta, mas passa um cliente - o cliente1. O cliente1 não é do tipo Conta, por isso apresenta o erro

Tente trocar para:

contaCorrenteAlice.transferir(250, contaCorrenteRicardo);