Closure en JavaScript

Código, Libros y Podcast

Closure en JavaScript

No hay comentarios

Un closure es una función que siempre tiene acceso a las variables y parámetros de su función externa.


En JavaScript, un closure (o cierre) es una función que tiene acceso a variables en su ámbito léxico (es decir, el entorno en el que se declaró la función) incluso después de que la función haya terminado de ejecutarse y su ámbito léxico haya desaparecido.


En JavaScript, un closure (o cierre) es una función que tiene acceso a variables en su ámbito léxico (es decir, el entorno en el que se declaró la función) incluso después de que la función haya terminado de ejecutarse y su ámbito léxico haya desaparecido.


En otras palabras, un closure es una función que "recuerda" el entorno en el que se declaró, incluyendo las variables locales, y puede acceder a esas variables incluso después de que la función haya terminado de ejecutarse. Esto es posible porque la función "captura" (o "cierra") el ámbito léxico en el que se declaró y lo almacena en un objeto especial llamado "cierre" (closure en inglés).

Los closures son útiles para crear funciones que actúan como "fábricas de funciones" o para encapsular datos y comportamientos en un objeto con estado. También se utilizan a menudo para crear funciones callback en eventos y tareas asíncronas, ya que permiten que la función callback acceda a variables y argumentos de la función que la llama.


Aquí tenemos un ejemplo:


Enlace del proyecto en JavaScript: 
https://github.com/pedrolarap/closure/blob/master/Contador.js


function Contador(valor){

return ()=>++valor
}

const valor2 = Contador(1);
console.log(valor2()) 2
console.log(valor2()) 3
console.log(valor2()) 4
console.log(valor2()) 5
console.log(valor2()) 6
            

No hay comentarios :

Publicar un comentario