Sättare av imaginära egenskaper i OOP i JavaScript
Förutom getters för imaginära egenskaper kan man också skapa deras setters. I detta fall måste vi inom sättaren få data, dela upp dem och skriva motsvarande delar till önskade publika egenskaper.
Låt oss prova. Låt oss implementera
en sättare för den imaginära egenskapen full:
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;
}
}
Låt oss förenkla destructuring:
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(' ');
}
}
Låt oss skapa ett objekt av klassen:
let user = new User('john', 'smit');
Låt oss skriva data till vår imaginära sättare:
user.full = 'eric jons';
Låt oss kontrollera att objektets egenskaper har ändrats:
console.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'