Accessor-Eigenschaften in OOP in JavaScript
Es gibt zwei Arten von Objekteigenschaften.
Der erste Typ sind Dateneigenschaften (data properties). Wir wissen bereits, wie man mit ihnen arbeitet. Alle Eigenschaften, die wir bis zum aktuellen Moment verwendet haben, waren Dateneigenschaften.
Die zweite Art von Eigenschaften haben wir noch nicht betrachtet. Das sind Accessor-Eigenschaften (accessor properties). Im Wesentlichen sind das Funktionen, die verwendet werden, um einen Wert zuzuweisen und abzurufen, aber im externen Code sehen sie aus wie gewöhnliche Objekteigenschaften.
Accessor-Eigenschaften werden mit den
Schlüsselwörtern get und set erstellt,
die bei der Deklaration von Methoden geschrieben werden:
class User {
get name() {
}
set name(name) {
}
}
Als Ergebnis einer solchen Deklaration
wird unsere Klasse die Eigenschaft
name besitzen. Dabei wird beim Versuch, diese Eigenschaft
zu lesen, die Methode aufgerufen,
die über get deklariert wurde:
let name = user.name;
Beim Versuch, zu schreiben, wird die Methode aufgerufen,
die über set deklariert wurde:
user.name = 'john';
Gegeben ist die folgende Klasse:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Erstellen Sie ein Objekt dieser Klasse
und versuchen Sie, Daten in die Eigenschaft name
zu schreiben und daraus zu lesen.