Created
January 4, 2021 18:13
-
-
Save MarisaAfuera/c7c5306732d064be56542784df71bc7f to your computer and use it in GitHub Desktop.
Javascript: Ejemplo de Closure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function inicial() { | |
// var1 definida e inicializada para el scope de inicial() | |
let var1 = 1; | |
function interna() { | |
// var2 definida e inicializada para el scope de interna() | |
let var2 = 2; | |
console.log( var1, var2 ); | |
} | |
// inicial() retorna función. !OJO¡ totalmente distinto a | |
// 'return interna()' que devolvería el retorno de interna() | |
return interna; | |
} | |
// a externa le asignamos el retorno de inicial(), que es | |
// la referencia a la función interna | |
let externa = inicial(); | |
// Resulta en consola 1 2 -- Accede al contenido de variables que | |
// están fuera de su scope. | |
// Estamos ante una !!!CLOSURE!!!, bueno dos: var1 y var2 | |
externa(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment