Přístupové vlastnosti v OOP v JavaScriptu

Existují dva typy vlastností objektu.

První typ jsou vlastnosti-datové (data properties). Již víme, jak s nimi pracovat. Všechny vlastnosti, které jsme používali až do současného okamžiku, byly vlastnostmi-datovými.

Druhý typ vlastností jsme ještě nezkoumali. Jsou to vlastnosti-akcesory (accessor properties). Ve své podstatě se jedná o funkce, které se používají pro přiřazení a získání hodnoty, ale z vnějšího kódu vypadají jako běžné vlastnosti objektu.

Přístupové vlastnosti jsou vytvořeny pomocí klíčových slov get a set napsaných při deklaraci metod:

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

Výsledkem takové deklarace bude, že naše třída bude disponovat vlastností name. Přitom při pokusu o čtení této vlastnosti bude volána metoda, deklarovaná pomocí get:

javascriptlet name = user.name;

Při pokusu o zápis bude volána metoda, deklarovaná pomocí set:

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

Je dána následující třída:

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

Vytvořte objekt této třídy a zkuste zapsat a přečíst data z vlastnosti name.