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

curiosidades: deep freeze

Alguém chegou a implementar o "deep freeze" mencionado pelo instrutor? ou tem alguma curiosidade referente a isto?

1 resposta
solução!

Fala aí Matheus, tudo bem? Segue uma simples implementação de deep freeze:

const deepFreeze = obj => Object.freeze(obj) && Object.values(obj).forEach(value => typeof value === 'object' && deepFreeze(value))

Basicamente é feito o Object.freeze no objeto principal e depois para todo objeto dentro do principal é feito um uma nova chamada para a função deepFreeze de forma recursiva.

Uma versão mais simples:

const deepFreeze = obj => {
    Object.freeze(obj)
    Object
        .values(obj)
        .forEach(value => {
            if (typeof value === 'object') {
                deepFreeze(value)
            }
        })
}

Espero ter ajudado.