Gettere för accessorer i OOP i JavaScript

Låt oss analysera tillämpningen av gettere för egenskapsaccessorer mer ingående. Låt oss anta att vi har följande klass med en privat egenskap:

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

Låt oss skapa en publik egenskap name i denna klass, som kan läsas, men inte skrivas:

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

Låt oss kontrollera hur det fungerar. Vi skapar ett objekt av vår klass och skickar ett namn som en parameter:

javascriptlet user = new User('john');

Och nu läser vi namnet via den publika egenskapen:

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

Men ett försök att skriva namnet kommer att leda till ett fel, precis som vi ville:

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

Implementera gettere för accessorer för egenskaperna i klassen Employee.