Classes
Dernière mise à jour
Dernière mise à jour
En attendant la notion de qui sera probablement bientôt introduite en ECMAScript 2019 , la notion de visibilité private
se base sur la convention de nommage qui consiste à préfixer la propriété ou la méthode par le caractère underscore : _
Ne les utilisez pas.
L'implémentation de propriétés peut s'avérer pratique dans certains cas extrêmes tels que l'intégration d'une librairie "legacy", mocking, décoration pour "type checking" etc...
Autrement, cela introduit surtout de l'ambiguité dans le code.
Qui pourrait imaginer que le code suivant puisse lever une exception ?
Ou pire encore :
Toute ressemblance avec du code existant est fortuite.
Evitez l'héritage...
... et préférez la composition !
En l'absence de notion de "class fields", il est recommandé d'initialiser toutes les attributs dans le constructeur. Autrement, il est difficile de déterminer les attributs d'une classe et les attributs présents sur une instance dépendront alors des méthodes appelées.