Sobes.tech
Middle

Comment fonctionne une fermeture en JavaScript ? Expliquez avec un exemple de la variable index et de la fonction run dans votre solution.

sobes.tech IA

Réponse de l'IA

En JavaScript, une fermeture est une fonction qui se souvient de son environnement lexical, même si elle est appelée en dehors de sa portée.

Considérons un exemple avec la variable index et la fonction run :

function createRunner() {
  let index = 0;
  function run() {
    console.log(index);
    index++;
  }
  return run;
}

const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2

Ici, la fonction run ferme la variable index de la fonction externe createRunner. Même si createRunner a déjà terminé son exécution, run continue d’avoir accès à index et peut en modifier la valeur. Cela permet de conserver l’état entre les appels à la fonction run.

Ainsi, les fermetures permettent de créer des fonctions avec des variables privées et de conserver l’état sans utiliser de variables globales.