lundi 5 septembre 2016

La vie privée et cachée des membres en Javascript (ES6)

Il est étonnant, depuis la release d'ES6, de ne pas avoir vu évoluer les techniques permettant de gérer correctement les membres privés des objets en Javascript en attendant le support natif du mot clé "private" (à l'heure actuelle, ce mot clé est réservé, mais pas utilisé).

En effet, aucune technique connue ne satisfait toutes ces caractéristiques :
  1. interdire rigoureusement l'accès aux membres privés
  2. les méthodes accédant aux membres privés doivent être des méthodes de classe
  3. l'instance obtenue doit bien être du type souhaité
  4. les membres privés doivent être directement associés à leur instance
Afin de combler ce manque, cet article propose donc une technique qui couvre toutes ces exigences et qui me paraît l'une des plus élégantes que petits et grands pourront à loisir adapter pour leurs propres projets.