Без new присваивания вида this.name = ... в non-strict могут попасть в global — классическая ловушка.
Итог
new создаёт экземпляр; голый вызов конструктора — почти всегда ошибка использования. Классы без new бросают TypeError.
На собеседовании
Ожидают не заученную таблицу, а умение связать концепцию с багом из практики: что сломается, если выбрать неправильный вариант, и какой код вы напишете в реальном PR. Короткий пример и граничный случай обычно ценятся выше длинной теории.
В чём разница между `function Person(){}`, вызовом `Person()` и `ne… · Sobeso