Settery přístupových objektů v OOP v JavaScriptu

Pojďme nyní kromě getteru vytvořit také setter přístupového objektu:

javascriptclass User {
  #name;
  
  get name() {
    return this.#name;
  }
  
  set name(name) {
    this.#name = name;
  }
}

Nyní přidáme kontrolu v setteru:

javascriptclass User {
  #name;
  
  set name(name) {
    if (name.length > 0) {
      this.#name = name;
    } else {
      throw new Error('name is incorrect');
    }
  }
  get name() {
    return this.#name;
  }
}

Vytvoříme objekt třídy:

javascriptlet user = new User;

Zapíšeme data do naší vlastnosti:

javascriptuser.name = 'john';

Zkusíme zapsat nekorektní řetězec a dostaneme chybu:

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

Implementujte settery pro vlastnosti třídy Employee.

Задание 2

Přidejte kontroly do setterů přístupových objektů třídy Employee.