Saltar al contenido

Proyecto: historial de cambios

JavaScript · Unidad 15: Inmutabilidad

Vas a guardar el historial de una nota: un arreglo donde cada elemento es una versión, y la última es como está la nota ahora.

Cada cambio agrega una versión nueva y no toca ninguna de las viejas. Para armarla, los tres puntos dos veces: lo que había y encima lo que cambia.

const v1 = { txt: "pan", ok: false };
const cambio = { ok: true };
const v2 = { ...v1, ...cambio };
console.log(v1.ok);
console.log(v2);

Imprime

false
{ txt: 'pan', ok: true }

Ejercicios de esta lección

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

  1. 1. Completa el código

    Completa para leer la versión de ahora, que es la última del historial.

  2. 2. Escribe el código

    Escribe aplicar(h, cambio): regresa un historial nuevo, con una versión más al final. Esa versión nueva es la última del historial con el cambio encima. El historial que recibes no se toca. La función probar de abajo ya está lista y regresa tu historial nuevo junto con el largo del viejo.

  3. 3. Escribe el código

    Escribe deshacer(h): regresa un historial nuevo, sin la última versión. Si solo hay una versión no hay nada que deshacer, así que lo regresas con esa misma. El historial que recibes tampoco se toca aquí.

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 →