Setteri pentru accesorii în OOP în JavaScript

Haideți acum, pe lângă getter, să mai facem și un setter pentru accesor:

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

Acum să adăugăm o verificare în setter:

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;
  }
}

Să creăm un obiect al clasei:

javascriptlet user = new User;

Să scriem date în proprietatea noastră:

javascriptuser.name = 'john';

Să încercăm să scriem un șir incorect și vom primi o eroare:

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

Implementați setteri pentru proprietățile clasei Employee.

Задание 2

Adăugați verificări în setterii accesorilor clasei Employee.