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:
class 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:
let name = user.name;
Wakati wa kujaribu kuandika mbinu iliyotangazwa
kupitia set itaitwa:
user.name = 'john';
Imetolewa darasa lifuatalo:
class 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.