Зачем нужны поля класса в js?

Разбираюсь с классами в js и возник вопрос. Когда мы создаем объект класса, вызывается конструктор класса и происходит инициализация свойств объекта. Но зачем нам тогда возможность создавать свойства класса вне конструктора? Создать свойство одинаковое для всех объектов класса или есть еще назначения?

class someClass {
  prop1 = 'value';
  prop2;
  constructor(x,y){
    this.x = x;
    this.y = y;
  }
}

Вот к примеру в классе сверху, зачем создавать prop1, prop2 и т.д. если свойства определяются в конструкторе?


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

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

Конструктор необходим для свойств, требующих инициализации свойствами, переданными при создании объекта. Если классу не требуется такая инициализация, то можно обойтись без конструктора:

class Blog {
  author = "Aleksandr";
}
→ Ссылка