⊗jsOpBsPOS 15 of 60 menu

Privatumas senuoju stiliumi OOP JavaScripte

Privačių savybių ir metodų deklaravimas per simbolį # atsirado JavaScripte visai neseniai. Prieš tai reikėjo naudytis specialiu gudriu metodu.

Šio metodo esmė ta, kad sudaroma sutartis, kad privačių savybių ir metodų pavadinimai turėtų prasidėti pabraukimo simboliu. Realiai tokie pavadinimai nebus privatūs, bet mes susitariame, kad nenaudosime jų iš už klasės ribų.

Pabandykime. Sukurkime privačią savybę tokiu stiliumi:

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

Sukurkime klasės objektą:

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

Iškvieskime metodą, rodantį reikšmę mūsų savybės:

console.log(user.show());

Bandymas kreiptis į savybę iš išorės klasės nesukels klaidos:

console.log(user._name); // klaidos nėra

Toliau pateiktame kode padarykite savybes privačiomis:

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

Toliau pateiktame kode padarykite pagalbinį metodą privačiu:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + '€'; } }
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti