JavaScript Object.freeze()

Definição e uso

Object.freeze() O método é usado para evitar qualquer alteração no objeto.

No modo não estrito,Object.freeze() O método falhará silenciosamente.

No modo estrito,Object.freeze() O método lançará um erro TypeError.

Os objetos congelados são apenas leitura. Não é permitido modificar, adicionar ou remover atributos.

Pode ser usado Object.isFrozen() Métodos para verificar se um objeto foi congelado.

Métodos relacionados:

Object.preventExtensions() Permite a modificação, mas impede a adição de atributos.

Object.seal() Permite a modificação, mas bloqueia a adição e exclusão de propriedades.

Object.freeze() Bloqueia a modificação, adição e exclusão de propriedades.

Object.isExtensible() Se o objeto for extensível, retorna true.

Object.isSealed() Se o objeto for selado, retorna true.

Object.isFrozen() Se o objeto for congelado, retorna true.

Instância

Exemplo 1

"use strict"
// Criar objeto
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Congelar objeto
Object.freeze(person);
// Isso lançará um erro
person.age = 51;

Experimente você mesmo

Exemplo 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Isso lançará um erro:
fruits.push("Kiwi");

Experimente você mesmo

Sintaxe

Object.freeze(object)

Parâmetro

Parâmetro Descrição
object Obrigatório. O objeto a ser congelado.

Retorno

Tipo Descrição
Object Objeto congelado.

Suporte do navegador

Object.freeze() É uma característica do ECMAScript5 (ES5).

Desde julho de 2013, todos os navegadores modernos suportam completamente o ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
Setembro de 2012 Setembro de 2012 Abril de 2013 Julho de 2012 Julho de 2013