Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Fermeture (closure)

En programmation informatique, une fermeture est une technique permettant d'implémenter une liaison de nom lexicalement portée dans un langage avec des fonctions de première classe.

Dans JavaScript, une fonction crée un contexte de fermeture. Comme le montre le code suivant, la fonction interne conserve l'accès à la variable compte même après l'exécution de creerCompteur().

js
function creerCompteur() {
  let compte = 0;
  return function () {
    compte += 1;
    return compte;
  };
}

const compteur = creerCompteur();
console.log(compteur()); // 1
console.log(compteur()); // 2
console.log(compteur()); // 3

Voir aussi