Objeto de JavaScript.freeze ()

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 mientras Object.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 ()

Articulos interesantes...