Junior — Middle
Podes dar um exemplo de quando, em JavaScript, um closure é usado para armazenar dados ou criar métodos privados?
sobes.tech IA
Resposta da IA
No JavaScript, os closures são frequentemente usados para criar dados e métodos privados que não estão acessíveis de fora.
Exemplo:
function Counter() {
let count = 0; // variável privada
return {
increment() {
count++;
return count;
},
getCount() {
return count;
}
};
}
const counter = Counter();
console.log(counter.increment()); // 1
console.log(counter.getCount()); // 1
console.log(counter.count); // undefined — acesso ao count de fora não é possível
Aqui, count é armazenado no closure da função Counter e não está acessível diretamente, o que garante a encapsulação dos dados.