Разбор странной строки кода в классе

Интересуют две строчки кода помеченные внизу. Это инициализация или переменная с именем класса? Я запутался, помогите понять, что это? Как правильно называть эти две строки кода?

class User {
  constructor(name, age) { // Это тоже инициализация аргументов функции?
    this.names = name;
    this.ages = age;
  }

  hi() {
    alert(this.names);
  }

  age() {
    alert(this.ages);
  }
}

let user = new User('opa', 32); // ***** Это инициализация переменной или что? ******
user.hi();
user.age();


Ответы (1 шт):

Автор решения: Iurii

До закрывающих двойных скобок создаётся класс User (шаблон для создания объектов), c 2-мя аргументами name, age, и с 2-мя методами, т.е. функциями, которые можно применить к этому объекту.

let user = new User('opa', 32);

Это создание объекта:

user {
    names = 'opa', ages = 32} `
→ Ссылка