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 синфи хоссалари учун аксессорларнинг геттерларини амалга оширинг.