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:

javascriptclass 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:

javascriptlet name = user.name;

Kirjutamiskatsel kutsutakse välja meetod, mis on deklareeritud läbi set:

javascriptuser.name = 'john';
Задание 1

Antud on järgmine klass:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

Looge selle klassi objekt ja proovige kirjutada ja lugeda andmeid omadusest name.