⊗jsOpBsPOS 15 of 60 menu

Privacy in stile vecchio in OOP in JavaScript

Dichiarazione di proprietà e metodi privati tramite il simbolo # è apparso in JavaScript molto recentemente. Prima di allora si doveva utilizzare uno speciale e astuto espediente.

L'essenza di questo espediente è stabilire una convenzione per cui i nomi delle proprietà e dei metodi privati devono iniziare con il carattere underscore. In realtà tali nomi non saranno privati, ma ci accordiamo sul fatto che non li utilizzeremo dall'esterno della classe.

Proviamo. Creiamo una proprietà privata in questo stile:

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

Creiamo un oggetto della classe:

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

Chiamiamo il metodo che visualizza il valore della nostra proprietà:

console.log(user.show());

Il tentativo di accedere alla proprietà dall'esterno della classe non causerà un errore:

console.log(user._name); // nessun errore

Nel codice seguente, rendete le proprietà private:

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

Nel codice seguente, rendete il metodo ausiliario privato:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + '€'; } }
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta