Sobes.tech
Middle

Qu'est-ce qu'une fermeture? Peux-tu expliquer?

sobes.tech IA

Réponse de l'IA

Une fermeture est une fonction avec son environnement lexical, dans lequel elle a été créée. Cela signifie que la fonction « se souvient » des variables de la portée externe, même si cette fonction externe a déjà terminé son exécution.

Exemple en JavaScript :

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    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 makeCounter, créant une fermeture. Cela permet de conserver l'état entre les appels de la fonction.