Sabes que es un closure en JavaScript?
Suena complejo o incluso a “buzzword “, pero te aseguro de que es más simple de lo que aparenta y que en realidad lo usas cada día.
A diferencia de otros conceptos como funciones, variables u otros. Los closures no son siempre utilizados a conciencia y de forma directa. No dices: OH! aquí usaré un closure como solución
TLDR;
Tienes una closure cuando una función cualquiera accede a una variable fuera de su contexto.
¿Qué puedo hacer con closures?
Expresión de Función Inmediatamente invocada - Immediately-invoked Function Expression (IIFE)
Function Factory
Otro patrón de diseño implementado gracias a los closures es la “Fábrica de Funciones” (Function Factory), funciones que crean funciones
Currying
Es un patrón de diseño ( y característica de algunos lenguajes ) en donde una función, es inmediatamente evaluada y retorna una segunda función.
Event Listeners
Otro lugar en donde puedes utilizar y aplicar closures es en los manejadores de eventos utilizando React.