Это извлекается непосредственно из спецификации ECMAScript :
15.2.1. Конструктор объекта вызывается как функция
Когда объект вызывается как функция, а не какконструктор, он выполняет преобразование типа.
15.2.1.1 Object ([value])
Когда функция Object вызывается без аргументов или со значением одного аргумента, предпринимаются следующие шаги:
Если значение равно null, не определено или не указано, создайте и верните новый объект Object точно так же, как если бы стандартный встроенный конструктор объекта был вызван с теми же аргументами (15.2.2,1).
Короче говоря: new Object([ value ])
Return ToObject (значение).
Примечания:
[] Типичный способ пометить параметр как необязательный.
ToObject Это очень простая операция, определенная в разделе 9.9.