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