Protocolo 02: La caja de memoria

Fácil
variables
objects
closures

📖Historia

🧠 Transmisión de Zeew_02 iniciada…

El Almacén Central de Zeew está corrupto. Los valores se mezclan entre sí, las constantes cambian y las variables pierden su propósito. El flujo de datos está al borde del colapso.

"La memoria no miente, pero puede olvidar su forma."

Debes crear una función que almacene y proteja valores correctamente, distinguiendo entre lo que puede cambiar y lo que debe permanecer inmutable.

🎯Enunciado

🎯 Objetivo

Crea una función memoryBox(value, type) que almacene un valor según su tipo ('variable' o 'constant') y retorne un objeto con métodos para leer y (solo si es variable) modificar el valor.

📋 Especificaciones

  • Si type es 'constant', el valor NO puede cambiar
  • Si type es 'variable', el valor SÍ puede cambiar
  • Retorna un objeto con:
    • read(): retorna el valor actual
    • write(newValue): actualiza el valor (solo para variables)
  • Si intentas escribir en una constante, retorna "Error: constante protegida"

💡 Ejemplos

const box1 = memoryBox(42, 'constant');
box1.read(); // 42
box1.write(100); // "Error: constante protegida"

const box2 = memoryBox(10, 'variable');
box2.read(); // 10
box2.write(20); // 20
box2.read(); // 20

Casos de prueba

Tu solución será validada contra 5 casos de prueba

Test 1: Lee valor inicial de constante
Test 2: Protege constantes contra escritura
Test 3: Permite modificar variables

... y 2 casos más

💻 Editor de código

JavaScript
Cargando editor...
Loading...