Геттерҳои аксессорҳо дар ООП дар 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 геттерҳои аксессорҳоро амалӣ намоед.