This article documents how to work with the `Number` built-in object, and lists its properties and methods.

A `number` value can be generated using a number literal syntax:

``````const age = 36
typeof age //number
``````

or using the `Number` global function:

``````const age = Number(36)
typeof age //number
``````

If we add the `new` keyword, we get a `Number` object in return:

``````const age = new Number(36)
typeof age //object
``````

which has a very different behavior than a `number` type. You can get the original `number` value using the `valueOf()` method:

``````const age = new Number(36)
typeof age //object
age.valueOf() //36
``````

## Properties

• `EPSILON` the smallest interval between two numbers
• `MAX_SAFE_INTEGER` the maximum integer value JavaScript can represent
• `MAX_VALUE` the maximum positive value JavaScript can represent
• `MIN_SAFE_INTEGER` the minimum integer value JavaScript can represent
• `MIN_VALUE` the minimum positive value JavaScript can represent
• `NaN` a special value representing “not a number”
• `NEGATIVE_INFINITY` a special value representing negative infinity
• `POSITIVE_INFINITY` a special value representing positive infinity

Those properties evaluated to the values listed below:

``````Number.EPSILON
Number.MAX_SAFE_INTEGER
Number.MAX_VALUE
Number.MIN_SAFE_INTEGER
Number.MIN_VALUE
Number.NaN
Number.NEGATIVE_INFINITY
Number.POSITIVE_INFINITY
``````
``````2.220446049250313e-16
9007199254740991
1.7976931348623157e+308
-9007199254740991
5e-324
NaN
-Infinity
Infinity
``````

## Object Methods

We can call those methods passing a value:

I mentioned “safe integer”. Also up above, with the MAX_SAFE_INTEGER and MIN_SAFE_INTEGER properties. What is a safe integer? It’s an integer that can be exactly represented as an IEEE-754 double precision number (all integers from (2^53 - 1) to -(2^53 - 1)). Out of this range, integers cannot be represented by JavaScript correctly. Out of the scope of the course, but here is a great explanation of that.

## Instance methods

When you use the `new` keyword to instantiate a value with the Number() function, we get a `Number` object in return:

``````const age = new Number(36)
typeof age //object
``````

This object offers a few unique methods you can use. Mostly to convert the number to specific formats.

NEW

Follow my new project: From Zero to App

A video-based learning project where I create a React + GraphQL app from idea to deployment! 9 free videos already out!