⊗jsOpBsPOS 15 of 60 menu

Privátnost ve starém stylu v OOP v JavaScriptu

Definice privátních vlastností a metod pomocí symbolu # se v JavaScriptu objevila teprve nedávno. Předtím jsme museli používat speciální trik.

Podstatou tohoto triku je dohoda, že názvy privátních vlastností a metod musí začínat symbolem podtržítka. Ve skutečnosti tyto názvy nebudou privátní, ale dohodneme se, že je nebudeme používat zvenčí třídy.

Zkusme to. Vytvořme privátní vlastnost v tomto stylu:

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

Vytvořme objekt třídy:

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

Zavolejme metodu, která zobrazí hodnotu naší vlastnosti:

console.log(user.show());

Pokus o přístup k vlastnosti zvenčí třídy nepovede k chybě:

console.log(user._name); // žádná chyba

V následujícím kódu udělejte vlastnosti privátními:

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

V následujícím kódu udělejte pomocnou metodu privátní:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + ' Kč'; } }
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout