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.