Sobes.tech
Junior — Middle

¿Cuál es el papel de los cierres (closures) en JavaScript y para qué se utilizan?

sobes.tech AI

Respuesta de la IA

Los cierres (closures) en JavaScript son funciones que "recuerdan" el entorno en el que fueron creadas, incluyendo el acceso a variables de funciones externas incluso después de que ésta haya finalizado.

Rol de los cierres:

  • Permiten crear variables y métodos privados, encapsulando datos.
  • Se utilizan para crear funciones con estado guardado.
  • Ayudan a evitar la contaminación del ámbito global.
  • Se aplican en programación funcional para crear funciones con argumentos parcialmente aplicados.

Ejemplo:

function makeCounter() {
  let count = 0; // variable privada
  return function() {
    count += 1;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Aquí, la función interna mantiene el acceso a la variable count de la función externa, creando un cierre.