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.