Introdução
Neste laboratório, aprenderemos como verificar se um objeto está profundamente congelado (deeply frozen) em JavaScript. O laboratório nos guiará através de uma função recursiva que usa Object.isFrozen() para determinar se um objeto está congelado e Object.keys() com Array.prototype.every() para verificar todas as chaves em busca de congelamento profundo. Ao final deste laboratório, teremos uma melhor compreensão de como determinar o status de congelamento profundo de um objeto em JavaScript.
Como verificar se um objeto está profundamente congelado (Deeply Frozen)
Para verificar se um objeto está profundamente congelado, use as seguintes etapas em JavaScript:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use recursão para verificar se todas as propriedades do objeto estão profundamente congeladas.
- Use
Object.isFrozen()no objeto fornecido para verificar se ele está superficialmente congelado (shallowly frozen). - Use
Object.keys()para obter todas as propriedades do objeto eArray.prototype.every()para verificar se todas as chaves são objetos profundamente congelados ou valores não-objeto.
Aqui está um trecho de código de exemplo para verificar se um objeto está profundamente congelado:
const isDeepFrozen = (obj) =>
Object.isFrozen(obj) &&
Object.keys(obj).every(
(prop) => typeof obj[prop] !== "object" || isDeepFrozen(obj[prop])
);
Você pode usar a função isDeepFrozen para verificar se um objeto está profundamente congelado assim:
const x = Object.freeze({ a: 1 });
const y = Object.freeze({ b: { c: 2 } });
isDeepFrozen(x); // true
isDeepFrozen(y); // false
Resumo
Parabéns! Você concluiu o laboratório "Verificar se um Objeto Está Profundamente Congelado". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.