Обекти вътре в класове в ООП в JavaScript

В класове може да се използват обекти от други класове. Нека разгледаме пример. Да приемем, че искаме да създадем потребител с име и фамилия, както и град, в който той живее. Да приемем, че имаме следния клас за град:

javascriptclass City {
  constructor(name) {
    this.name = name;
  }
}

Ще подаваме име, фамилия и град като параметри на конструктора:

javascriptclass User {
  constructor(name, surn, city) {
    this.name = name;
    this.surn = surn;
    this.city = city;
  }
}

Като името и фамилията ще бъдат низове, а градът - обект от собствен отделен клас:

javascriptlet city = new City('luis');
let user = new User('john', 'smit', city);

Нека изведем името на нашия потребител:

javascriptconsole.log(user.name);

А сега нека изведем името на града за нашия потребител:

javascriptconsole.log(user.city.name);
Задание 1

Даден е следният клас:

javascriptclass Employee {
  constructor(name, position, department) {
    this.name = name;
    this.position = position;
    this.department = department;
  }
}

Направете така, че във втория и третия параметър да се подават обекти от отделни класове.

Задание 2

Създайте обект със служител с помощта на класа от предишната задача.

Задание 3

Изведете в конзолата името, длъжността и отдела за създадения служител.