Приватни својства во ООП во 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

Направете метод, кој ќе ги испечати податоците за работникот.