⊗jsOpBsPOS 15 of 60 menu

Privaatsus vanastiilis OOP-s JavaScriptis

Privaatsete omaduste ja meetodite deklareerimine sümboli # kaudu ilmus JavaScripti alles hiljuti. Enne seda tuli kasutada spetsiaalset keerulist meetodit.

Selle meetodi olemus seisneb kokkuleppes, et privaatsete omaduste ja meetodite nimed peavad algama allkriipsu sümboliga. Tegelikult ei ole sellised nimed privaatsed, aga me kokku leppime, et me ei kasuta neid väljaspool klassi.

Proovime seda. Teeme privaatse omaduse selles stiilis:

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

Loome klassi objekti:

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

Kutsume meetodi, mis kuvab meie omaduse väärtuse:

console.log(user.show());

Katse pöörduda omaduse poole väljaspool klassi ei too kaasa viga:

console.log(user._name); // viga ei ole

Järgmises koodis tehke omadused privaatseteks:

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

Järgmises koodis tehke abistav meetod privaatseks:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this._addSign(this.salary); } _addSign(num) { return num + '€'; } }
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu