Prístupové vlastnosti v OOP v JavaScripte

Existujú dva typy vlastností objektu.

Prvý typ sú vlastnosti-dáta (data properties). Už vieme, ako s nimi pracovať. Všetky vlastnosti, ktoré sme používali až do tohto momentu, boli vlastnosťami-dáta.

Druhý typ vlastností sme ešte nepreskúmali. Sú to prístupové vlastnosti (accessor properties). Vo svojej podstate sú to funkcie, ktoré sa používajú na priradenie a získanie hodnoty, ale vo vonkajšom kóde vyzerajú ako bežné vlastnosti objektu.

Prístupové vlastnosti sa vytvárajú pomocou kľúčových slov get a set napísaných pri deklarovaní metód:

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

Výsledkom takejto deklarácie náš class bude mať vlastnosť name. Pri tom pri pokuse o čítanie tejto vlastnosti bude zavolaná metóda, deklarovaná cez get:

javascriptlet name = user.name;

Pri pokuse o zápis bude zavolaná metóda, deklarovaná cez set:

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

Daný je nasledujúci class:

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

Vytvorte object tohto classu a skúste zapísať a prečítať dáta z vlastnosti name.