> For the complete documentation index, see [llms.txt](https://daniel-morales.gitbook.io/javascript-avanzado-en-espanol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://daniel-morales.gitbook.io/javascript-avanzado-en-espanol/ii-scope-and-closures/5-scope-closure/56-revision.md).

# 5.6 Revisión

El closure parece a los no ilustrados como un mundo místico separado dentro de JavaScript que sólo las pocas almas más valientes pueden alcanzar. Pero en realidad es sólo un hecho estándar y casi obvio de cómo escribimos código en un entorno de ámbito léxico, donde las funciones son valores y se pueden transmitir a voluntad.

**El closure es cuando una función puede recordar y acceder a su alcance léxico incluso cuando se invoca fuera de su alcance léxico**.

Los closure pueden hacernos tropezar, por ejemplo con bucles, si no tenemos cuidado de reconocerlos y cómo funcionan. Pero también son una herramienta inmensamente poderosa, permitiendo patrones como módulos en sus diversas formas.

Los módulos requieren dos características clave: 1) invocación de una función de envoltura externa, para crear el ámbito de inclusión y 2) el valor de retorno de la función de envoltura debe incluir referencia a al menos una función interna que tiene closure sobre el ámbito interno privado del envoltorio.

Ahora podemos ver closures alrededor de nuestro código existente, y tenemos la capacidad de reconocer y aprovecharlos para nuestro propio beneficio!
