JavaScript pour les Jedis, épisode II : L’attaque des Closures (partie 1)

Wassim Chegham
Oct 15, 2018 · 5 min read
  1. Pour les Jedis, JavaScript, épisode II : L’attaque des Closures (1 et 2)
  2. Pour les Jedis, JavaScript, épisode III : La revanche des Prototypes (1 et 2)

Comment fonctionnent les Closures ?

Si nous devions définir les Closures en une phrase : une Closure est un contexte créé par la déclaration d’une fonction, et qui permet à cette dite fonction d’accéder et manipuler des variables se trouvant en dehors de sa portée. C’est assez clair j’imagine ? Disons qu’une Closure permet à une fonction foo d’accéder à toutes les variables et fonctions qui sont dans le contexte de déclaration (et non d’invocation) de cette fonction foo.

“Une Closure est un contexte créé par la déclaration d’une fonction.”

Si vous pensez que cet exemple est trop simple, sûrement parce que vous avez remarqué que la variable et la fonction sont déclarées dans le contexte global qui, tant que la page est chargée, est toujours accessible et ne change pas. Prenons un exemple un peu plus intéressant.

Cas d’usages

Voici une liste des différents cas d’usage illustrant l’utilisation des Closures…

Variables privées (encapsulation)

Une des utilisations les plus répandues des Closures est l’encapsulation d’information en tant que “variables privées”, pour limiter la portée de ces variables. La Programmation Orientée Objet en JavaScript ne permet pas d’avoir des variables privées : des propriétés d’un objet non accessibles depuis l’extérieur.


CodeShake

Learnings and insights from SFEIR community.

Wassim Chegham

Written by

Angular Tooling team ★ GDE for Action On Google, GCP teams at Google ★ Member of Node.js Foundation ★ Follow me @manekinekko

CodeShake

CodeShake

Learnings and insights from SFEIR community.