JavaScript-те ООП-дегі жеке қасиеттер

Объект қасиеттері, оларды сырттан оқуға және жазуға болады, қоғамдық деп аталады. Сондай-ақ жеке қасиеттер бар, олар тек сынып ішінде ғана қол жетімді болады.

Жеке қасиеттердің атауларын # таңбасынан бастау керек. Сонымен қатар, мұндай қасиеттер міндетті түрде сынып кодының басында жариялануы керек. Мұны істейік:

javascriptclass User {
  #name;
}

Енді біздің қасиетке деректерді жазайық. Бұл сынып конструкторында, мысалы, жасалуы мүмкін:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

Енді біздің қасиеттің мәнін қайтаратын әдіс жасайық:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

Сынып объектісін жасайық, оған пайдаланушы атын параметр ретінде беріп:

javascriptlet user = new User('john');

Біздің қасиетке тікелей сырттан сілтеу қатеге әкеледі:

javascriptconsole.log(user.#name); // қате

Ал біздің әдісті шақыру осы қасиетті оқуға мүмкіндік береді:

javascriptconsole.log(user.show()); // 'john' шығарады
Задание 1

Employee сыныбында үш жеке қасиет жасаңыз: аты, жалақысы және жасы.

Задание 2

Осы қасиеттердің мәндерін конструкторға параметр ретінде беріңіз.

Задание 3

Жұмысшы деректерін шығаратын әдіс жасаңыз.