⊗jsOpBsPOS 15 of 60 menu

Confidentialité à l'ancienne en POO en JavaScript

La déclaration de propriétés et méthodes privées via le symbole # est apparue en JavaScript très récemment. Avant cela, il fallait utiliser une technique spéciale et astucieuse.

L'essence de cette technique est de conclure une convention selon laquelle les noms des propriétés privées et des méthodes doivent commencer par le symbole de soulignement. En réalité, ces noms ne seront pas privés, mais nous convenons que nous ne les utiliserons pas de l'extérieur de la classe.

Essayons. Créons une propriété privée dans ce style :

class User { constructor(name) { this._name = name; } show() { return this._name; } }

Créons un objet de la classe :

let user = new User('john', 'smit');

Appelons la méthode affichant la valeur de notre propriété :

console.log(user.show());

Une tentative d'accéder à la propriété depuis l'extérieur de la classe ne générera pas d'erreur :

console.log(user._name); // pas d'erreur

Dans le code suivant, rendez les propriétés privées :

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getName() { return this.name; } getSalary() { return this.salary; } }

Dans le code suivant, rendez la méthode utilitaire privée :

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + '€'; } }
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser