Virtuaalisten ominaisuuksien asettimet OOP:ssa JavaScriptissä
Virtuaalisten ominaisuuksien hakijoiden lisäksi voit luoda myös niiden asettimia. Tässä tapauksessa asettimen sisällä meidän täytyy saadata tiedot, jakaa ne ja kirjoittaa vastaavat osat tarvittaviin julkisiin ominaisuuksiin.
Kokeillaan. Toteutetaan
virtuaalisen ominaisuuden full asettaja:
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;
}
}
Yksinkertaistetaan destrukturointi:
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(' ');
}
}
Luodaan luokan olio:
let user = new User('john', 'smit');
Kirjoitetaan tiedot virtuaaliseen asettimeemme:
user.full = 'eric jons';
Tarkistetaan, että olion ominaisuudet muuttuivat:
console.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'