Accessor-getterit OOP:ssa JavaScriptissä
Tarkastellaanpa tarkemmin accessor-omaisuusgetterien käyttöä. Oletetaan, että meillä on seuraava luokka yksityisellä ominaisuudella:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Tehdään tähän luokkaan
julkinen ominaisuus name,
jota voidaan lukea,
mutta jota ei voi asettaa:
class User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
Testataan toimintaa. Luodaan olio luokastamme, välittämällä sille parametrina nimen arvon:
let user = new User('john');
Luetaan nyt nimi julkisen ominaisuuden kautta:
let name = user.name;
console.log(name);
Yritys kirjoittaa nimi johtaa virheeseen, kuten pyysimme:
user.name = 'eric';
Toteuta accessor-getterit
luokan Employee ominaisuuksille.