Показать сообщение отдельно
  #8 (permalink)  
Старый 30.08.2017, 15:57
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 849

vitek-82,

такое поведение, как у Array или Object, достигается простым трюком:
function Func() {
  if (!(this instanceof Func)) {
    return new Func();
  }
  // дальше работа конструктора
}


в условие попадает случай вызова Func(), без new

бытует мнение, что если функция будет работать только как конструктор, то желательно сделать именно так, тогда new будет необязательно.
Ответить с цитированием