Closure
Una clausura es la vinculación de una función con su entorno de definición, permitiendo que una función interna acceda a las variables de la función externa incluso después de que esta haya retornado.
Propósito
Permite la privacidad de datos, la retención de estado y las fábricas de funciones — una técnica central de la programación funcional.
Mecanismo
Una función captura su entorno léxico (enlaces de variables) al crearse. Incluso después de que la función externa retorne, la clausura mantiene una referencia al entorno. Usos: variables privadas, estado de callbacks, currificación y el patrón módulo. Cuidado con capturar accidentalmente variables de bucle.
Casos de uso
- Programación funcional
- Privacidad de datos
- Estado de callbacks