ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

Object.freeze

/ˈɑbdʒɛkt fɹiz/função

Função que congela um objeto: impede adicionar, remover ou alterar propriedades próprias. O congelamento é raso, então objetos aninhados continuam mutáveis.

Onde usar

Usada para constantes de configuração e para proteger estado. Em code review, atenção: fora do strict mode a alteração falha em silêncio, enquanto no strict mode lança TypeError.

Em código

'use strict';
const o = Object.freeze({ a: 1, b: [] });
o.b.push(9); // funciona, congelamento raso
o.a = 5;     // TypeError
console.log(Object.isFrozen(o)); // true

Exemplos

I froze the config object so nobody changes it by accident.

Congelei o objeto de config para ninguém alterar sem querer.

Object.freeze is shallow, the nested object can still change.

O Object.freeze é raso, o objeto aninhado ainda pode mudar.

Cuidado

Achar que o congelamento é profundo: é preciso congelar recursivamente cada objeto interno.

Sinônimos

congelar

Veja também

Todos os termos de JavaScript