⊗jsOpBsPOS 15 of 60 menu

Privaciteit in oude stijl in OOP in JavaScript

Het declareren van privé-eigenschappen en methoden via het symbool # verscheen pas recentelijk in JavaScript. Daarvoor moest men gebruik maken van een speciale, ingenieuze techniek.

De essentie van deze techniek is dat er een afspraak wordt gemaakt dat de namen van privé-eigenschappen en methoden moeten beginnen met een underscore. In werkelijkheid zijn deze namen niet privé, maar we spreken af dat we ze niet van buiten de klasse zullen gebruiken.

Laten we het proberen. Laten we een privé-eigenschap maken in deze stijl:

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

Laten we een object van de klasse aanmaken:

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

Laten we de methode aanroepen die de waarde van onze eigenschap weergeeft:

console.log(user.show());

Een poging om de eigenschap van buitenaf te benaderen leidt niet tot een fout:

console.log(user._name); // geen fout

Maak in de volgende code de eigenschappen privé:

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

Maak in de volgende code de helpermethode privé:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this._addSign(this.salary); } _addSign(num) { return num + ' euro'; } }
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren