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

Sobre o retorno que tenho no console

Classe Conta (Mãe)

export class Conta{

    constructor(saldoInicial, cliente, agencia){

        this._saldoInicial = saldoInicial; 
        this._cliente = cliente;
        this._agencia = agencia; 
    }


    set cliente(novoValor){

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


    get cliente(){
        return this._cliente;
    }

    get saldoInicial(){
        return this._saldoInicial;
    }

    sacar(valor){
        let taxa = 1;
        const valorSacado = taxa * valor;
        if(this._saldoInicial >= valorSacado){
            this._saldoInicial = this._saldoInicial - valorSacado;
            return valor;
        }
    }

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

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

/*Classe filha*/
import { Conta } from "./Conta.js";

export class ContaPoupanca extends Conta{
    /* Defining the constructor */
    constructor(saldoInicial, cliente, agencia){
            super(saldoInicial, cliente, agencia) 
    }
}

E estou tendo como retorno no console isso: ContaPoupanca { _saldoInicial: NaN, _cliente: Cliente { nome: 'José', _cpf: '000.000.000-00' }, _agencia: 1001 } Percebe-se que o saldo está dando como not a number, seja ele qualquer valor que vou tentar atribuir.

1 resposta
solução!

acredito que isso ocorre por que você não declarou a variável _saldoInicial e também iniciou ela com 0.

Você está criando a variável no construtor, até então ela não existia, pode ser este o problema, tem que ver o que você está passando na instanciação do objeto.

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