Skip to content

Instantly share code, notes, and snippets.

@MarisaAfuera
Created January 4, 2021 18:13
Show Gist options
  • Save MarisaAfuera/c7c5306732d064be56542784df71bc7f to your computer and use it in GitHub Desktop.
Save MarisaAfuera/c7c5306732d064be56542784df71bc7f to your computer and use it in GitHub Desktop.
Javascript: Ejemplo de Closure
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