Fiktiivsete omaduste setterid OOP-s JavaScriptis
Lisaks fiktiivsete omaduste getteritele saab luua ka nende setterid. Sel juhul peame me setteri sees saama andmed, jagama need ja kirjutama vastavad osad vajalikesse avalikesse omadustesse.
Proovime. Rakendame
fiktiivse omaduse full setteri:
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;
}
}
Lihtsustame destruktureerimist:
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(' ');
}
}
Loome klassi objekti:
let user = new User('john', 'smit');
Kirjutame andmed meie fiktiivsesse setterisse:
user.full = 'eric jons';
Kontrollime, kas objekti omadused on muutunud:
console.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'