Геттери на аксесерите во ООП во JavaScript

Ајде подетално да го разгледаме примената на геттерите на својствата-аксесери. Нека имаме следнава класа со приватно својство:

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

Ајде да направиме во оваа класа јавно својство name, кое ќе може да се прочита, но нема да може да се запише:

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

Ајде да ја провериме работата. Ќе создадеме објект од нашата класа, пренесувајќи му како параметар вредност на името:

javascriptlet user = new User('john');

А сега ќе го прочитаме името преку јавното својство:

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

А обидот за запишување на името ќе доведе до грешка, како што и сакавме:

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

Имплементирајте ги геттерите на аксесерите за својствата на класата Employee.