JavaScript да ООПдаги аксессор хоссалари
Объектнинг икки турдаги хоссалари мавжуд.
Биринчи тур бу маълумот хоссалари (data properties). Биз улар билан ишлашни allaqachon биламиз. Биз hозирги вақтгача ишлатган барча хоссалар маълумот хоссалари эди.
Иккинчи турдаги хоссаларни биз hали кўриб чиқмадик. Бу аксессор хоссалари (accessor properties). Уларнинг мўъжизаси бу, қийматни белгилаш ва олиш учун ишлатиладиган функциялар, лекин ташқи кодда улар оддий объект хоссасидек кўринади.
Аксессор хоссалари get ва set калит сўзлари
орқали методларни эълон қилишда ёзилган holda яратилади:
class User {
get name() {
}
set name(name) {
}
}
Бундай эълон натижасида
бизнинг классимз name хоссасига эга булади.
Бу holda ушбу хоссани ўқишга уринишда
get орқали эълон қилинган метод чақирилади:
let name = user.name;
Ёзишга уринишда set орқали эълон қилинган метод чақирилади:
user.name = 'john';
Қуйидаги класс берилган:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Ушбу класснинг объектини яратинг
ва name хоссасидан маълумот ёзиш ва ўқишга
уриниб кўринг.