Closure
JavaScript 🟢 JuniorType : Concept
Definition
Une closure est une fonction qui garde acces aux variables de son scope parent, meme apres que celui-ci a termine son execution. Elle "enferme" l'environnement lexical dans lequel elle a ete creee.
Analogie
Un sac a dos que tu emportes en quittant la maison : tu gardes acces a tout ce que tu y as mis, meme une fois dehors.
Exemple de code
function compteur() {
let n = 0;
return () => ++n;
}
const inc = compteur();
console.log(inc(), inc()); class="cmt">// 1, 2Cas d'usage
Creer des compteurs prives, des fonctions factory ou encapsuler un etat sans classe.