Sobes.tech
Junior — Middle

¿Puedes explicar qué es un cierre en JavaScript y cómo funciona?

sobes.tech AI

Respuesta de la IA

El cierre en JavaScript es una función que «recuerda» el entorno en el que fue creada, incluso si ese entorno ya no está activo. En otras palabras, una función dentro de otra función puede acceder a las variables de la función externa después de que esta haya terminado de ejecutarse.

Esto funciona porque al crear una función se guarda una referencia al entorno léxico donde fue declarada.

Ejemplo:

function exterior() {
  let contador = 0;
  return function interior() {
    contador++;
    console.log(contador);
  };
}

const contador = exterior();
contador(); // 1
contador(); // 2

Aquí, interior cierra la variable contador de exterior, manteniendo su estado entre llamadas.