1
resposta

Erro inesperado

Entao, meu codigo funcionou da maneira correta, porem, descobri um erro. Caso seja feita uma transferencia de um valor maior que o da conta de origem, a conta de destino passa a exibir o valor NaN (not a number). Esse erro era pra ocorrer? Como poderiamos soluciona-lo?

1 resposta

Lucas, eu não fiz este curso mas baixei o fonte e vou te dar uma sugestão fácil para resolver:

Altere o método sacar e transferir

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

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

        if (valorSacado !== -1){
            conta.depositar(valorSacado);
        }
        else{
            console.log("Não foi possível realizar a transferencia, pois o valor é maior que o saldo");
        }
    }

Obs : usar o return do sacar com -1 não é uma boa idéia, mas acho que resolve para vocÊ neste cenario. Seria legal tratar estas partes como boolean, mas enfim, acho que vai resolver para você.