Number
возвращает значение простого числа. Да, немного странно, что вы можете использовать функцию-конструктор также как обычную функцию, но именно так определяется JavaScript. Большинство встроенных в язык типов имеют странные и непоследовательные дополнительные функции, подобные этой.
new Number
создает явный объект Number
в штучной упаковке. Разница:
typeof Number(1) // number
typeof new Number(1) // object
В отличие от коробочных примитивных классов Java, в JavaScript явные Number
объекты абсолютно бесполезны .
Я бы не стал беспокоиться ни о каком использовании Number
. Если вы хотите быть явным, используйте parseFloat('09')
; если вы хотите быть кратким, используйте +'09'
; если вы хотите разрешить только целые числа, используйте parseInt('09', 10)
.