Sobes.tech
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.