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

Método Transferir

Consigo ver os valores de ambas as contas Poupança e Corrente, mas. quando tendo fazer uma transferência entre elas tenho um problema.

Ao transferir da conta Corrente para Poupança obtenho um NaN em meu _saldo. Acredito que isso seja devido ao retorno de undefined quando utilizo o método sacar( ), mas não entendo o porquê deste retorno.

Em Index.js

let valor = 50;
contaCorrenteRicardo.tranferir(valor, contaPoupancaRicardo);

Em Conta.js

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

_sacar(valor, taxa) {
    const valorSacado = taxa * valor;
    if (this._saldo >= valorSacado) {
        this._saldo -= valorSacado;
        return valorSacado;
    }

    return 0;
}

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

tranferir(valor, conta) {
    let valorSacado = this.sacar(valor); 
    // console.log(valorSacado);
    conta.depositar(valorSacado);
}

Quando uso console.log(valorSacado) tenho como resposta um undefined, mas não compreendo o porquê.

Por último este é meu código em ContaCorrente.js

sacar(valor) {
    let taxa = 1.3;
    this._sacar(valor, taxa);
}
2 respostas

Você pode mandar sua classe ContaPoupança também por favor?

solução!

Claro, aqui está

export class ContaPoupanca extends Conta {
    constructor(saldoInicial, cliente, agencia) {
        super(saldoInicial, cliente, agencia);
    }
}

Mas acredito ter descobrido meu erro

Meu método sacar( ) em ContaCorrente.js não retornava o valor de _sacar( )

Eis a solução, colocar o return

sacar(valor) {
    let taxa = 1.3;
    return this._sacar(valor, taxa);
}

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