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.