Closures no JavaScript

304d atrás

0 0

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)

0/512
Link