Прокомментируйте:
typeof new Number(10) // object, т.е. является объектом?
В шелле node v5.8, что сейчас под рукой:
new Number(10) // [Number: 10]
new Number(10)['Number'] // undefined
var a = new Number(10);
a['Number']; // undefined
a.Number; // undefined
Это что получается, объект с нечитабельным ключем "Number"? В гугл хроме это свойство зовется вообще, как:
{{[[PrimitiveValue]]: 10}
При арифметических операциях, объект автоматически преобразуется в число:
1 + new Number(10); // 11
new Number(10) + 1; // 11
{} + 1; // 1
1 + {}; //" 1[object Object]"
Что же все-таки возвращается конструктором?