Closures no JavaScript
359d atrás
Closure é o conceito de criar uma função que encapsula outra. A função interna tem acesso a todo o escopo da função externa, como variáveis, por exemplo.
Vamos entender melhor como isso funciona no #JavaScript com o código abaixo:
function contador() {
let count = 0;
return function() {
return ++count;
}
}
const incrementar = contador();
console.log(incrementar()); // 1
console.log(incrementar()); // 2
console.log(incrementar()); // 3
No código acima, contador é inicializado na variável incrementar, com a variável count = 0 e retornando uma função que incrementa count no seu escopo.
Toda vez que chamar incrementar, que é instância da função contador, ela vai incrementar count em 1, ou seja, a função interna de contador, salva o escopo externo, que nesse caso é a variável count.
Closures são muito úteis para criar escopos privados, dados e lógica encapsuladas e módulos.
Comentários (0)