Privaat Eienskappe in OOP in JavaScript
Eienskappe van 'n objek wat van buite gelees en geskryf kan word, word publieke genoem. Daar is ook privaat eienskappe, wat slegs binne die klas toeganklik sal wees.
Die name van privaat eienskappe moet
begin met die simbool #.
Daarbenewens moet sulke eienskappe noodwendig
aan die begin van die klas se kode verklaar word.
Kom ons doen dit:
class User {
#name;
}
Laat ons nou data in ons eienskap skryf. Dit kan gedoen word, byvoorbeeld, in die konstruktor van die klas:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Kom ons maak nou 'n metode wat die waarde van ons eienskap sal teruggee:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Kom ons skep 'n objek van die klas, en gee die gebruikersnaam as parameter deur:
let user = new User('john');
'n Poging om direk buite die klas na ons eienskap te probeer toegang, sal lei tot 'n fout:
console.log(user.#name); // fout
Maar die roep van ons metode sal dit moonlijk maak om hierdie eienskap te lees:
console.log(user.show()); // sal 'john' uitvoer
Maak in die klas Employee
drie privaat eienskappe: naam, salaris
en ouderdom.
Gee die waardes van hierdie eienskappe as parameter in die konstruktor deur.
Maak 'n metode wat die data van die werknemer sal uitvoer.