JavaScript: Number Object
Number
is the value of the property key "Number"
of the Global Object
.
console.log( window.Number === Number );
Type
Type of Number
is a function.
console.log( typeof Number === "function" );
Parent
Parent of Number
is Function.prototype.
console.log( Reflect.getPrototypeOf ( Number ) === Function.prototype );
Purpose
Purpose of Number
is:
- Implicitly called by JavaScript to work on number type values. Example:
let x = 3;x.toString()
. JS first convert the number primitive value to a number object, so that it has methodtoString
. - Holds useful value properties such as
Number.MAX_VALUE
and function properties such asparseInt
. - Has the property key
"prototype"
that is the parent object of number object. It has properties such astoFixed
.
Number Primitive and Number Object
Literal numbers such as 3 are Primitive Value. That is, the type of a number such as 3, is number, not object.
Number primitive include special literal expression NaN and Infinity .
You can convert a primitive number type to a number object type by new Number(num)
.
Number Constructor
Properties
Number.NaN
-
Value is
NaN
.console.log( Number.isNaN( Number.NaN ) );
Number.NEGATIVE_INFINITY
-
Value is
-Infinity
.console.log( Number.NEGATIVE_INFINITY === -Infinity );
Number.POSITIVE_INFINITY
-
Value is
+Infinity
.console.log( Number.POSITIVE_INFINITY === Infinity );
Number.MIN_SAFE_INTEGER
-
Value is
-9007199254740991
(same as-(2^53-1)
).It's the smallest integer n such that n and n - 1 are both exactly representable as a Number value.
console.log(Number.MIN_SAFE_INTEGER === -9007199254740991); console.log(-9007199254740991 === -(2 ** 53 - 1));
Number.MAX_SAFE_INTEGER
-
Value is
9007199254740991
. Same as(2^53 - 1)
.It's the largest integer n such that n and n + 1 are both exactly representable as a Number value.
console.log( Number.MAX_SAFE_INTEGER === 9007199254740991 );
Number.EPSILON
-
Value is the difference between 1 and the smallest value greater than 1 that is representable as a Number value, which is approximately 2.2204460492503130808472633361816 x 10^(-16).
console.log( Number.EPSILON === 2.220446049250313e-16 );
Number.MIN_VALUE
-
The value is the smallest positive value of the Number type, which is approximately 5 Ã 10^(-324).
In the IEEE 754-2008 double precision binary representation, the smallest possible value is a denormalized number. If an implementation does not support denormalized values, the value of
Number.MIN_VALUE
must be the smallest non-zero positive value that can actually be represented by the implementation.console.log( Number.MIN_VALUE === 5e-324 );
Number.MAX_VALUE
-
The value is the largest positive finite value of the Number type, which is approximately 1.7976931348623157 Ã 10^308.
console.log( Number.MAX_VALUE === 1.7976931348623157e+308 );