Sofiane Boumedine Lexique Dev

Closure

JavaScript 🟢 Junior

Type : 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, 2

Cas d'usage

Creer des compteurs prives, des fonctions factory ou encapsuler un etat sans classe.

coreinterview-question