El método JavaScript Object.freeze () congela un objeto.
Ya no se puede cambiar un objeto congelado. Congelar un objeto evita:
- Nuevas propiedades que se agreguen al objeto.
- Propiedades existentes que se eliminarán del objeto.
- Cambiar la enumerabilidad, configurabilidad o escritura de propiedades existentes.
- Cambiar los valores de las propiedades y el prototipo del objeto existente.
La sintaxis del freeze()método es:
 Object.freeze(obj)
El freeze()método, al ser un método estático, se llama utilizando el Objectnombre de la clase.
congelar () Parámetros
El freeze()método incluye:
- obj: objeto a congelar.
Valor de retorno de congelar ()
- El objeto que se pasó a la función.
Notas :
- Cualquier intento de agregar o eliminar de un conjunto de propiedades de objetos congelados fallará silenciosamente o se lanzará TypeError(principalmente cuando esté en modo estricto).
- Los objetos sellados con Object.seal()pueden cambiar sus propiedades existentes mientrasObject.freeze()hace que las propiedades existentes sean inmutables.
Ejemplo: usar freeze ()
 let obj = ( prop: function () (), foo: "bar", ); let o = Object.freeze(obj); console.log(o == obj); // True -> Returns the same object console.log(Object.isFrozen(obj)); // true // changes will fail silently obj.foo = "bar1"; console.log(obj.foo); // bar // does not add silently obj.new_foo = "bar"; console.log(obj.new_foo); // undefined // Following will also throw error // Object.setPrototypeOf(obj, ( x: 20 ))
Salida
true true bar indefinido
Nota : Object.freeze(obj)solo se aplica a las propiedades inmediatas de obj. Si el valor de esas propiedades son objetos en sí mismos, esos objetos no se congelan y pueden ser objeto de operaciones de adición, eliminación o reasignación de valor.
Lectura recomendada: sello de objeto JavaScript ()








