⊗jsOpBsPOS 15 of 60 menu

Prywatność w starym stylu w OOP w JavaScript

Deklarowanie prywatnych właściwości i metod poprzez symbol # pojawiło się w JavaScript całkiem niedawno. Wcześniej trzeba było używać specjalnej, sprytnej sztuczki.

Istota tej sztuczki polega na uzgodnieniu, że nazwy prywatnych właściwości i metod powinny zaczynać się od znaku podkreślenia. W rzeczywistości takie nazwy nie będą prywatne, ale umawiamy się, że nie będziemy ich używać na zewnątrz klasy.

Spróbujmy. Zróbmy prywatną właściwość w tym stylu:

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

Stwórzmy obiekt klasy:

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

Wywołajmy metodę, która wyświetla wartość naszej właściwości:

console.log(user.show());

Próba odwołania się do właściwości z zewnątrz klasy nie spowoduje błędu:

console.log(user._name); // nie ma błędu

W następnym kodzie uczynij właściwości prywatnymi:

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

W następnym kodzie uczynij metodę pomocniczą prywatną:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + ' zł'; } }
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć