JavaScript-däki OOP-da hakyky däl aýratynlyklaryň setterlerini düzmek
Hakyky däl aýratynlyklaryň getterlerinden başga-da, olaryň setterlerini hem düzüp bolýar. Bu ýagdaýda setteriň içinde biz maglumatlary almaly, olary bölmeli we gerekli böleklerini degişli umumy aýratynlyklara ýazmaly.
Barlap göreýli. Hakyky däl aýratynlyk full
üçin setter ýerine ýetireýli:
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;
}
}
Destrukturizasiýany ýönekeýleşdireýli:
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(' ');
}
}
Klassyň obýektini düzeliň:
let user = new User('john', 'smit');
Maglumatlary hakyky däl setterimize ýazalyň:
user.full = 'eric jons';
Obýektiň aýratynlyklarynyň üýtgendigini barlalyň:
console.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'