Объекты внутри классов в ООП в 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

Выведите в консоль имя, должность и отдел для созданного работника.