Middle
O que é um closure? Pode explicar?
sobes.tech IA
Resposta da IA
Fecho — é uma função juntamente com o ambiente léxico em que foi criada. Isto significa que a função 'lembra-se' das variáveis do escopo externo, mesmo que essa função externa já tenha terminado a sua execução.
Exemplo em JavaScript:
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. Isto permite manter o estado entre chamadas da função.