Sobes.tech
Junior

À quoi sert l'utilisation d'une fermeture en JavaScript?

sobes.tech IA

Réponse de l'IA

Une fermeture (closure) en JavaScript est une fonction qui « se souvient » de l’environnement dans lequel elle a été créée, y compris l’accès aux variables de la portée externe, même si cette fonction externe a déjà terminé son exécution.

À quoi cela sert-il :

  • Conserver l’état entre les appels de fonctions.
  • Encapsulation des données, création de variables privées.
  • Implémentation de fonctions avec des paramètres par défaut ou une application partielle.
  • Dans les hooks React, les closures aident à conserver l’accès à l’état et aux props à l’intérieur des fonctions.

Exemple :

function makeCounter() {
  let count = 0;
  return function() {
    count += 1;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Ici, la fonction interne conserve l’accès à la variable count de la fonction externe, même après que makeCounter ait terminé.