Sobes.tech
Middle

O que é um closure em JavaScript? Dê um exemplo.

sobes.tech IA

Resposta da IA

O encerramento em JavaScript é uma função que «lembra-se» do seu ambiente léxico, mesmo que seja chamada fora do seu escopo original. Isso permite que a função aceda às variáveis da função externa após esta ter terminado a sua execução.

Exemplo:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    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 makeCounter, criando um encerramento.