Akessoriomadused OOP-s JavaScriptis
Objektil on kaht tüüpi omadusi.
Esimene tüüp on andmeomadused (data properties). Me juba teame, kuidas nendega töötada. Kõik omadused, mida oleme siiamani kasutanud, olid andmeomadused.
Teist tüüpi omadusi me pole veel vaatlenud. Need on akessoriomadused (accessor properties). Oma olemuselt on need funktsioonid, mida kasutatakse väärtuse määramiseks ja saamiseks, kuid välimises koodis näevad need välja nagu tavalised objekti omadused.
Aksessoriomadused luakse kasutades
võtmesõnu get ja set, mis on kirjutatud
meetodite deklareerimisel:
class User {
get name() {
}
set name(name) {
}
}
Sellise deklaratsiooni tulemusena
on meie klassil omadus
name. Sel juhul lugemiskatsel
seda omadust kutsutakse välja meetod,
mis on deklareeritud läbi get:
let name = user.name;
Kirjutamiskatsel kutsutakse välja meetod,
mis on deklareeritud läbi set:
user.name = 'john';
Antud on järgmine klass:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Looge selle klassi objekt
ja proovige kirjutada ja lugeda
andmeid omadusest name.