Getter degli accessori in OOP in JavaScript

Analizziamo più in dettaglio l'applicazione dei getter delle proprietà-accessori. Supponiamo di avere la seguente classe con una proprietà privata:

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

Creiamo in questa classe una proprietà pubblica name, che potrà essere letta, ma non potrà essere scritta:

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

Verifichiamo il funzionamento. Creiamo un oggetto della nostra classe, passandogli come parametro il valore del nome:

javascriptlet user = new User('john');

E ora leggiamo il nome attraverso la proprietà pubblica:

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

Invece, il tentativo di scrivere il nome porterà a un errore, come volevamo:

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

Implementate i getter degli accessori per le proprietà della classe Employee.