⊗jsOpBsPOS 15 of 60 menu

Privatitet i gammal stil i OOP i JavaScript

Deklaration av privata egenskaper och metoder via symbolen # dök upp i JavaScript alldeles nyligen. Före det var man tvungen att använda ett speciellt knepigt knep.

Kärnan i detta knep är att man kommer överens om att namnen på privata egenskaper och metoder ska börja med understreck. I verkligheten kommer sådana namn inte att vara privata, men vi kommer överens om att vi inte ska använda dem utanför klassen.

Låt oss prova. Låt oss skapa en privat egenskap i den här stilen:

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

Låt oss skapa ett objekt av klassen:

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

Låt oss anropa metoden som visar värdet på vår egenskap:

console.log(user.show());

Ett försök att komma åt egenskapen utifrån klassen kommer inte att ge ett fel:

console.log(user._name); // inget fel

Gör följande egenskaper privata i koden nedan:

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

Gör hjälpmetoden privat i följande kod:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this._addSign(this.salary); } _addSign(num) { return num + ' kr'; } }
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa