JavaScript да ООПдаги аксессор хоссалари

Объектнинг икки турдаги хоссалари мавжуд.

Биринчи тур бу маълумот хоссалари (data properties). Биз улар билан ишлашни allaqachon биламиз. Биз hозирги вақтгача ишлатган барча хоссалар маълумот хоссалари эди.

Иккинчи турдаги хоссаларни биз hали кўриб чиқмадик. Бу аксессор хоссалари (accessor properties). Уларнинг мўъжизаси бу, қийматни белгилаш ва олиш учун ишлатиладиган функциялар, лекин ташқи кодда улар оддий объект хоссасидек кўринади.

Аксессор хоссалари get ва set калит сўзлари орқали методларни эълон қилишда ёзилган holda яратилади:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

Бундай эълон натижасида бизнинг классимз name хоссасига эга булади. Бу holda ушбу хоссани ўқишга уринишда get орқали эълон қилинган метод чақирилади:

javascriptlet name = user.name;

Ёзишга уринишда set орқали эълон қилинган метод чақирилади:

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

Қуйидаги класс берилган:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

Ушбу класснинг объектини яратинг ва name хоссасидан маълумот ёзиш ва ўқишга уриниб кўринг.