Sobes.tech
Junior — Middle

Quel est le rôle des closures en JavaScript et à quoi servent-ils?

sobes.tech IA

Réponse de l'IA

Les fermetures (closures) en JavaScript sont des fonctions qui « se souviennent » de l’environnement dans lequel elles ont été créées, y compris l’accès aux variables de la fonction externe même après sa fin.

Rôle des fermetures :

  • Permettent de créer des variables et méthodes privées, encapsulant les données.
  • Sont utilisées pour créer des fonctions avec un état conservé.
  • Aident à éviter la pollution de l’espace global.
  • Sont utilisées en programmation fonctionnelle pour créer des fonctions avec des arguments partiellement appliqués.

Exemple :

function makeCounter() {
  let count = 0; // variable privée
  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, créant une fermeture.