⊗jsOpBsPOS 15 of 60 menu

Privātums vecajā stilā OOP JavaScript

Privāto īpašību un metožu deklarēšana caur simbolu # parādījās JavaScript visai nesen. Pirms tam nācās izmantot īpašu viltīgu paņēmienu.

Šī paņēmiena būtība ir tāda, ka tiek noslēgts vienošanās, ka privāto īpašību un metožu nosaukumiem jāsākas ar apakšsvītras simbolu. Īstenībā šādi nosaukumi nebūs privāti, bet mēs vienojamies, ka neizmantosim tos no ārpuses klases.

Pamēģināsim. Izveidosim privātu īpašību šajā stilā:

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

Izveidosim klases objektu:

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

Izsauksim metodi, kas izvada vērtību mūsu īpašības:

console.log(user.show());

Mēģinājums piekļūt īpašībai no ārpuses klases neradīs kļūdu:

console.log(user._name); // kļūdas nav

Nākamajā kodā padariet īpašības privātas:

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

Nākamajā kodā padariet palīgmetodi privātu:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this._addSign(this.salary); } _addSign(num) { return num + '€'; } }
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt