Junior
Para que serve usar um closure em JavaScript?
sobes.tech IA
Resposta da IA
O encerramento (closure) em JavaScript é uma função que «lembra» do ambiente em que foi criada, incluindo o acesso às variáveis do escopo externo, mesmo que essa função externa já tenha terminado a execução.
Para que serve:
- Manter o estado entre chamadas de funções.
- Encapsulamento de dados, criação de variáveis privadas.
- Implementação de funções com parâmetros padrão ou aplicação parcial.
- Nos hooks do React, os closures ajudam a manter o acesso ao estado e às props dentro das funções.
Exemplo:
function makeCounter() {
let count = 0;
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, mesmo após makeCounter ter terminado.