Junior — Middle
Pouvez-vous expliquer ce qu'est une fermeture en JavaScript et comment elle fonctionne?
sobes.tech IA
Réponse de l'IA
Une fermeture en JavaScript est une fonction qui « se souvient » de l’environnement dans lequel elle a été créée, même si cet environnement n’est plus actif. En termes simples, une fonction à l’intérieur d’une autre peut accéder aux variables de la fonction externe après que cette dernière a terminé son exécution.
Cela fonctionne parce qu’au moment de la création de la fonction, une référence à l’environnement lexical où elle a été déclarée est conservée.
Exemple:
function exterieur() {
let compteur = 0;
return function interieur() {
compteur++;
console.log(compteur);
};
}
const compteur = exterieur();
compteur(); // 1
compteur(); // 2
Ici, interieur ferme la variable compteur de exterieur, en conservant son état entre les appels.