Gettery prístupových vlastností v OOP v JavaScripte

Poďme podrobnejšie analyzovať aplikáciu getterov prístupových vlastností. Nech máme nasledujúcu triedu s privátnou vlastnosťou:

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

Urobme v tejto triede publikovanú vlastnosť name, ktorú bude možné prečítať, ale nebude možné zapísať:

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

Skontrolujme fungovanie. Vytvorme objekt našej triedy, odovzdajúc mu parametrom hodnotu mena:

javascriptlet user = new User('john');

A teraz prečítajme meno cez publikovanú vlastnosť:

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

Pokus o zápis mena povedie k chybe, ako sme požadovali:

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

Realizujte gettery prístupových vlastností pre vlastnosti triedy Employee.