freeCodeCamp/guide/spanish/javascript/standard-objects/object/object-freeze/index.md

1.9 KiB

title localeTitle
Object Freeze Congelación de objetos

Congelación de objetos

El método Object.freeze() congela un objeto. Un objeto congelado le impedirá :

  • Añadiéndole nuevas propiedades.
  • Eliminando las propiedades existentes de él.
  • Cambiar la capacidad de enumeración, la capacidad de configuración o la capacidad de escritura de sus propiedades existentes

Sintaxis

Object.freeze(obj) 

Parámetros

obj

  • El objeto a congelar.

Devoluciones

El objeto congelado.

Nota IMPORTANTE

Si intenta agregar, eliminar o modificar las propiedades de un objeto congelado, se producirá un error. Esta falla será silenciosa o lanzará un TypeError (si el Modo estricto está habilitado). Además, Object.freeze() es una operación superficial. Esto significa que el objeto anidado, de un objeto congelado, es modificable.

Ejemplo

// Create your object 
 let person = { 
  name: 'Johnny', 
  age: 23, 
  guild: 'Army of Darkness', 
  hobbies: ['music', 'gaming', 'rock climbing'] 
 } 
 
 // Modify your object 
 person.name = 'John' 
 person.age = 24 
 person.hobbies.splice(1,1) 
 delete person.guild 
 
 // Verify your object has been modified 
 console.log(person) // { name: 'John', age: 24, hobbies: ['music', 'rock climbing'] 
 
 // Freeze your object 
 Object.freeze(person) 
 
 // Verify that your object can no longer be modified 
 person.name = 'Johnny' // fails silently 
 person.age = 23 // fails silently 
 console.log(person) // { name: 'John', age: 24, hobbies: ['music', 'rock climbing'] 
 
 // The freeze is "shallow" and nested objects (including arrays) can still be modified 
 person.hobbies.push('basketball') 
 consol.log(person.hobbies) // ['music', 'rock climbing', 'basketball'] 

Más información:

Documentación MDN