JavaScript Object.freeze()

Definición y uso

Object.freeze() El método se utiliza para evitar cualquier cambio en el objeto.

En modo no estricto:Object.freeze() El método fallará en silencio.

En modo estricto:Object.freeze() El método lanzará un TypeError.

Los objetos congelados son de solo lectura. No se permite modificar, agregar o eliminar propiedades.

Se puede usar Object.isFrozen() Métodos para verificar si un objeto está congelado.

Métodos relacionados:

Object.preventExtensions() Permite la modificación, pero impide la adición de propiedades.

Object.seal() Permite la modificación, pero impide la adición y eliminación de propiedades.

Object.freeze() Evita la modificación, adición y eliminación de propiedades.

Object.isExtensible() Si el objeto es extensible, devuelve true.

Object.isSealed() Si el objeto está sellado, devuelve true.

Object.isFrozen() Si el objeto está congelado, devuelve true.

Instancia

Ejemplo 1

"use strict"
// Crear objeto
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Congelar objeto
Object.freeze(person);
// Esto lanzará un error
person.age = 51;

Prueba por tu cuenta

Ejemplo 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Esto lanzará un error:
fruits.push("Kiwi");

Prueba por tu cuenta

Sintaxis

Object.freeze(object)

Parámetro

Parámetro Descripción
object Necesario. El objeto que debe congelarse.

Valor de retorno

Tipo Descripción
Object Objeto congelado.

Compatibilidad del navegador

Object.freeze() Es una característica de ECMAScript5 (ES5).

Desde julio de 2013, todos los navegadores modernos admiten completamente ES5 (JavaScript 2009):

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