JavaScript Number()
The Number Constructor
The Number() function creates primitive number values.
The new Number() constructor creates Number objects.
Note
Numbers are normally primitive values.
Parameters
| Parameter | Description |
|---|---|
| value | Optional. A value to convert to a number. Default is 0 (zero). |
Return Value
| Call | Returns |
|---|---|
Number(value) |
A primitive number |
new Number(value) |
A Number object |
Number() vs new Number()
Calling Number() converts a value to a primitive number.
Calling new Number() creates a Number object.
Example
let a = Number("123");
let b = new Number("123");
(typeof a) // number
(typeof b) // object
Primitive Numbers
Most JavaScript numbers are primitive values.
Number Objects
The new Number() constructor creates Number objects.
Number objects are rarely needed.
Number Conversion
The Number() function converts values to numbers.
| Expression | Result |
|---|---|
Number() |
0 |
Number(123) |
123 |
Number("123") |
123 |
Number(true) |
1 |
Number(false) |
0 |
Number(null) |
0 |
Number("Hello") |
NaN |
Primitive vs Object Comparison
| Primitive - Recommended | Number Object - Rarely needed |
|---|---|
100 |
new Number(100) |
| typeof = number | typeof = object |
Common Properties and Methods
toFixed()toPrecision()toString()valueOf()
Learn More:
| What | Value |
|---|---|
| Constructor Type | Function |
| Creates | Primitive numbers or Number objects |
| Inherits From | Object (for Number objects) |
| Primitive Type | number |
Primitives and Objects Cannot be Compared
Note
Use numeric literals or Number() conversions instead of new Number().
Object Hierarchy
Number objects inherit from Object.
Object └─ Number
Browser Support
Number() is an ECMAScript1 (JavaScript 1997) feature.
It is supported in all browsers:
| Chrome | Edge | Firefox | Safari | Opera |