Accessoreigenschappen in OOP in JavaScript
Er zijn twee soorten objecteigenschappen.
Het eerste type zijn data-eigenschappen (data properties). We weten al hoe we daarmee moeten werken. Alle eigenschappen die we tot nu toe hebben gebruikt, waren data-eigenschappen.
Het tweede type eigenschappen hebben we nog niet besproken. Dit zijn accessoreigenschappen (accessor properties). In essentie zijn het functies die worden gebruikt voor het toewijzen en ophalen van een waarde, maar in externe code zien ze eruit als gewone eigenschappen van het object.
Accessoreigenschappen worden gemaakt met behulp van
de sleutelwoorden get en set geschreven
bij de declaratie van methoden:
class User {
get name() {
}
set name(name) {
}
}
Als resultaat van een dergelijke declaratie
zal onze klasse de eigenschap
name bezitten. Hierbij zal bij een poging tot lezen
van deze eigenschap de methode,
gedeclareerd via get, worden aangeroepen:
let name = user.name;
Bij een poging tot schrijven zal de methode,
gedeclareerd via set, worden aangeroepen:
user.name = 'john';
Gegeven is de volgende klasse:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Maak een object van deze klasse
en probeer gegevens weg te schrijven en te lezen
uit de eigenschap name.