Getter für imaginäre Eigenschaften in der OOP in JavaScript
Mit Accessoren kann man imaginäre Eigenschaften erstellen, die im Objekt eigentlich nicht existieren. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben eine Klasse mit zwei öffentlichen Eigenschaften:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
}
Erstellen wir eine dritte Eigenschaft, die den Vor- und Nachnamen enthalten soll. Erstellen wir dafür eine Accessor-Eigenschaft:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
}
Prüfen wir es. Erstellen wir ein Objekt der Klasse und übergeben wir Vorname und Nachname als Parameter:
let user = new User('john', 'smit');
Geben wir die Werte der öffentlichen Eigenschaften aus:
console.log(user.name); // 'john'
console.log(user.surn); // 'smit'
Und jetzt geben wir den Wert unserer imaginären Eigenschaft aus:
console.log(user.full); // 'john smit'