Setter für imaginäre Eigenschaften in OOP in JavaScript
Neben Gettern für imaginäre Eigenschaften kann man auch deren Setter erstellen. In diesem Fall müssen wir innerhalb des Setters die Daten erhalten, sie aufteilen und die entsprechenden Teile in die benötigten öffentlichen Eigenschaften schreiben.
Versuchen wir es. Implementieren wir
einen Setter für die imaginäre Eigenschaft full:
javascriptclass User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
set full(full) {
let [name, surn] = full.split(' ');
this.name = name;
this.surn = surn;
}
}
Vereinfachen wir die Destrukturierung:
javascriptclass User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
set full(full) {
[this.name, this.surn] = full.split(' ');
}
}
Erstellen wir ein Objekt der Klasse:
javascriptlet user = new User('john', 'smit');
Schreiben wir Daten in unseren imaginären Setter:
javascriptuser.full = 'eric jons';
Prüfen wir, ob sich die Eigenschaften des Objekts geändert haben:
javascriptconsole.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'