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

Alterar valor de propriedade após Object.freeze

Ao realizar os exercícios da aula 02, tentei deixar mais otimizado e colocar o Object.freeze, porém consequentemente, o método deposita parou de funcionar, teria algum meio de utilizar o freeze e conseguir manter a funcionalidade do método deposita?

class Conta {

    constructor(titular, conta) {

        this._titular = titular;
        this._conta = conta;
        this._saldo = 0.0;
        Object.freeze(this);
    }

    deposita(valor) {
        console.log('Valor depositado: ' + valor);
        this._saldo+=valor;
    }

    get saldo() {
        return this._saldo;
    }

    get titular() {
        return this._titular;
    }

    get conta() {
        return this._conta;
    }
}
1 resposta
solução!

Fala aí Henrique, tudo bem? Não é possível, uma vez congelado, o objeto não pode mais ser descongelado.

O que você pode fazer é mudar sua abordagem, talvez se precisa de imutabilidade, pode estar utilizando a ImmutableJs.

Espero ter ajudado.