Как проверить, была ли функция вызвана с оператором `new`?
- Используя
new.target: если функция вызвана сnew,new.targetсодержит ссылку на функцию-конструктор; иначеundefined - Используя
instanceof: проверкаthis instanceof Constructorработает только если функция вызвана сnew - Используя проверку типа
this: в строгом режимеthisбудетundefinedпри обычном вызове, объект — при вызове сnew