El método Object.freeze
en JavaScript se utiliza para congelar un objeto, lo que significa que previene la modificación de sus propiedades. Esto es útil cuando se desea que un objeto sea inmutable, es decir, que sus valores no puedan ser cambiados, añadidos o eliminados.
Object.freeze
en JavaScript?
Cuando se aplica Object.freeze(objeto)
, el objeto pasado como argumento queda completamente inmovilizado. No se pueden agregar nuevas propiedades, eliminar las existentes, ni modificar el valor o configuración de las propiedades ya presentes en el objeto.
const persona = {
nombre: "Juan",
edad: 30
};
Object.freeze(persona);
persona.edad = 35; // No cambia el valor, sigue siendo 30
persona.apellido = "Pérez"; // No se agrega la propiedad
delete persona.nombre; // No elimina la propiedad
console.log(persona);
// Salida: { nombre: "Juan", edad: 30 }
Object.freeze
const coche = {
marca: "Toyota",
modelo: "Corolla"
};
Object.freeze(coche);
coche.modelo = "Camry"; // No cambiará el valor
console.log(coche.modelo); // "Corolla"
const configuracion = {
tema: "oscuro"
};
Object.freeze(configuracion);
configuracion.fuente = "Arial"; // No se agregará la propiedad
console.log(configuracion.fuente); // undefined
Object.freeze
const usuario = {
nombre: "Ana",
direccion: {
ciudad: "Madrid"
}
};
Object.freeze(usuario);
usuario.direccion.ciudad = "Barcelona"; // Esto es posible, ya que la propiedad interna no está congelada
console.log(usuario.direccion.ciudad); // "Barcelona"
Para congelar profundamente todos los niveles de un objeto, es necesario implementar una función que recorra y congele cada objeto dentro del objeto principal.
Puedes encontrar más detalles sobre el método Object.freeze
en la documentación oficial de MDN.
Jorge García
Fullstack developer