Вызов функции с new
всегда приводит к значению. Теперь ваша вторая строка,
{}
- это пустой блок кода, а не литерал объекта.
Попробуйте:
({})
или
0,{}
Консоль анализирует введенные вами строки как операторы , а не как выражения. Следовательно, открытая фигурная скобка в начале оператора является разделителем блоков, а не началом литерала объекта. Включив другие токены, чтобы заставить синтаксический анализатор анализировать выражение, вы можете начать литерал объекта.