Почему функция-конструктор вызывается без оператора `new`, хотя в документации указано противоположное?

Можно ли вызывать функцию-конструктор без оператора "new" в JavaScript, как в примере заданном на сайте "learn.javascript.ru"?
  • 25 августа 2024 г. 7:04
Ответы на вопрос 2
Функция-конструктор будет вызываться без оператора `new` в том случае, если в коде необходимо обращаться к экземпляру конструктора как к обычной функции, а не для создания нового объекта. Например, при копировании методов из прототипа конструктора в другой объект или при использовании функций высшего порядка. 

Однако, если вам необходимо создать новый объект с использованием конструктора, вам следует использовать оператор `new`, как это указано в документации. Использование `new` позволяет правильно привязать контекст выполнения и создать новый экземпляр объекта.

Таким образом, хотя в JavaScript возможно вызывать функцию-конструктор без оператора `new`, рекомендуется использовать его для создания новых объектов с помощью конструктора.
Это не официальная документация. 
И в ней чётко написано, что «должна выполняться» — это соглашение , а сама такая функция во всём аналогична обычной (потому что она и является обычной функцией).
Похожие вопросы