Saltar al contenido

Objetos congelados

JavaScript · Unidad 15: Inmutabilidad

Todo esto depende de que nadie se olvide de copiar. Object.freeze(obj) pone el candado: el objeto queda de solo lectura.

En el modo en que corre tu código, asignarle a una propiedad congelada truena con TypeError.

const menu = Object.freeze({
  plato: "sopa",
});
try {
  menu.plato = "pozole";
} catch (e) {
  console.log(e.name);
}
console.log(menu.plato);

Imprime

TypeError
sopa

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    La config está congelada y se le intenta agregar una propiedad. ¿Qué imprime?

  2. 2. Opción múltiple

    ¿En qué se diferencian const y Object.freeze?

  3. 3. Predice la salida

    Se congela un arreglo y se le hace push. ¿Qué imprime?

  4. 4. Completa el código

    Completa para que la config quede protegida y el 99 no entre.

  5. 5. Predice la salida

    El equipo está congelado, pero se le anota un jugador. ¿Qué imprime?

  6. 6. Encuentra el bug

    Este programa debería imprimir una config nueva con el max en 50, sin tocar la congelada. ¿Qué línea tiene el error?

  7. 7. Ordena las líneas

    Ordena el programa que intenta subir el máximo de una config congelada y, en vez de tronar, imprime el nombre del error y el valor que quedó.

  8. 8. Completa el código

    Completa para que subir regrese el máximo con 5 más, sin tocar la config congelada.

  9. 9. Encuentra el caso que falla

    ajustar(conf, n) regresa una config nueva con max en n, sin cambiar la que recibe; para asegurarse, la congela al entrar. ¿Con qué llamada falla?

  10. 10. Predice la salida

    Dos formas de ordenar el mismo arreglo congelado. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →