Getterid objektorienteeritud programmeerimises JavaScriptis

Vaatame lähemalt getterite kasutamist aktsessorite omadustes. Oletame, et meil on järgmine klass privaatse omadusega:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

Teeme selles klassis publiku omaduse name, mida saab lugeda, kuid mitte kirjutada:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  get name() {
    return this.#name;
  }
}

Kontrollime tööd. Loome objekti meie klassist, andes sellele parameetrina nime väärtuse:

javascriptlet user = new User('john');

Nüüd loeme nime läbi publiku omaduse:

javascriptlet name = user.name;
console.log(name);

Kuid katse nime kirjutada põhjustab vea, nagu me ja tahtsime:

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

Implementeerige getterid aktsessoritele klassi Employee omadustele.