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:
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;
}
}
Lihtsustame destruktureerimist:
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(' ');
}
}
Loome klassi objekti:
javascriptlet user = new User('john', 'smit');
Kirjutame andmed meie fiktiivsesse setterisse:
javascriptuser.full = 'eric jons';
Kontrollime, kas objekti omadused on muutunud:
javascriptconsole.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'