# JavaScript Reference: Number

All about the JavaScript Number properties and methods

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:

`Number.isNaN(value)`

: returns true if`value`

is not a number`Number.isFinite(value)`

: returns true if`value`

is a finite number`Number.isInteger(value)`

: returns true if`value`

is an integer`Number.isSafeInteger(value)`

: returns true if`value`

is a safe integer`Number.parseFloat(value)`

: converts`value`

to a floating point number and returns it`Number.parseInt(value)`

: converts`value`

to an integer and returns it

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.

`.toExponential()`

: return a string representing the number in exponential notation`.toFixed()`

: return a string representing the number in fixed-point notation`.toLocaleString()`

: return a string with the local specific conventions of the number`.toPrecision()`

: return a string representing the number to a specified precision`.toString()`

: return a string representing the specified object in the specified radix (base). Overrides the Object.prototype.toString() method`.valueOf()`

: return the number primitive value of the object

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

→ **JOIN MY CODING BOOTCAMP**, an amazing cohort course that will be a huge step up in your coding
career - covering React, Next.js - next edition February 2025