Sobes.tech
Junior — Middle

Qual é o papel dos closures em JavaScript e para que são utilizados?

sobes.tech IA

Resposta da IA

Fechos (closures) em JavaScript são funções que « lembram » o ambiente em que foram criadas, incluindo o acesso às variáveis de uma função externa mesmo após ela ter terminado.

Papel dos fechos:

  • Permitem criar variáveis e métodos privados, encapsulando dados.
  • São usados para criar funções com estado preservado.
  • Ajudam a evitar a poluição do escopo global.
  • São utilizados em programação funcional para criar funções com argumentos parcialmente aplicados.

Exemplo:

function makeCounter() {
  let count = 0; // variável privada
  return function() {
    count += 1;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Aqui, a função interna mantém o acesso à variável count da função externa, criando um fecho.