Sobes.tech
Middle

¿Cómo funciona un cierre en JavaScript? Explícalo con un ejemplo de la variable index y la función run en tu solución.

sobes.tech AI

Respuesta de la IA

En JavaScript, un cierre es una función que recuerda su entorno léxico, incluso si se llama fuera de su ámbito.

Veamos un ejemplo con la variable index y la función run:

function createRunner() {
  let index = 0;
  function run() {
    console.log(index);
    index++;
  }
  return run;
}

const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2

Aquí, la función run cierra la variable index de la función externa createRunner. Aunque createRunner ya ha terminado su ejecución, run sigue teniendo acceso a index y puede modificar su valor. Esto permite mantener el estado entre llamadas a la función run.

De esta manera, los cierres permiten crear funciones con variables privadas y mantener el estado sin usar variables globales.