Setters van denkbeeldige eigenschappen in OOP in JavaScript
Naast getters van denkbeeldige eigenschappen kun je ook hun setters maken. In dit geval moeten we binnen de setter de gegevens ontvangen, ze splitsen en de bijbehorende delen in de juiste publieke eigenschappen schrijven.
Laten we het proberen. Laten we
de setter van de denkbeeldige eigenschap full implementeren:
class 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;
}
}
Laten we de destructuring vereenvoudigen:
class 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(' ');
}
}
Laten we een object van de klas maken:
let user = new User('john', 'smit');
Laten we gegevens in onze denkbeeldige setter schrijven:
user.full = 'eric jons';
Laten we controleren of de eigenschappen van het object zijn veranderd:
console.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'