აქსესორების თვისებები OOP-ში JavaScript-ში

ობიექტის თვისებების ორი ტიპი არსებობს.

პირველი ტიპი არის მონაცემთა თვისებები (data properties). ჩვენ უკვე ვიცით, როგორ ვიმუშაოთ მათთან. ყველა თვისება, რომელსაც აქამდე ვიყენებდით, მონაცემთა თვისებები იყო.

მეორე ტიპის თვისებები ჩვენ ჯერ არ განვიხილეთ. ესენია აქსესორების თვისებები (accessor properties). თავისი არსით ისინი ფუნქციებია, რომლებიც გამოიყენება მნიშვნელობის მისანიჭებლად და მისაღებად, მაგრამ გარე კოდში ისინი ჩვეულებრივი ობიექტის თვისებების მსგავსად გამოიყურებიან.

აქსესორების თვისებები იქმნება საკვანძო სიტყვებით get და set დაწერილი მეთოდების გამოცხადების დროს:

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

ასეთი გამოცხადების შედეგად ჩვენს კლასს ექნება თვისება name. ამ შემთხვევაში, ამ თვისების წაკითხვის მცდელობისას გამოიძახება მეთოდი, რომელიც გამოცხადებულია get-ის მეშვეობით:

javascriptlet name = user.name;

ჩაწერის მცდელობისას გამოიძახება მეთოდი, რომელიც გამოცხადებულია set-ის მეშვეობით:

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

მოცემულია შემდეგი კლასი:

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

შექმენით ამ კლასის ობიექტი და სცადეთ ჩაწეროთ და წაიკითხოთ მონაცემები თვისებიდან name.