Sifa za Aksesa katika OOP kwenye JavaScript

Kuna aina mbili za sifa za kitu.

Aina ya kwanza ni sifa za data (data properties). Tayari tunajua jinsi ya kufanya kazi nazo. Sifa zote, ambazo tumetumia hadi wakati huu, zimekuwa sifa za data.

Aina ya pili ya sifa hatujazichunguza bado. Hizi ni sifa za aksesa (accessor properties). Kwa asili yake hizi ni kazi, zinazotumika kwa ajili ya kugawa na kupata thamani, lakini katika msimbo wa nje zinaonekana kama sifa za kawaida za kitu.

Sifa za aksesa huundwa kwa kutumia maneno muhimu get na set yaliyoandikwa wakati wa kutangaza mbinu:

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

Kama matokeo ya tangazo hili darasa letu litakuwa na sifa name. Wakati huo huo, wakati wa kujaribu kusoma sifa hii mbinu iliyotangazwa kupitia get itaitwa:

javascriptlet name = user.name;

Wakati wa kujaribu kuandika mbinu iliyotangazwa kupitia set itaitwa:

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

Imetolewa darasa lifuatalo:

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

Unda kitu cha darasa hili na ujaribu kuandika na kusoma data kutoka kwenye sifa name.