JavaScript (ES2026) reference · Number Methods and Properties
JavaScript Number.isSafeInteger() Method
Return true if a value is an integer that can be represented exactly, between -(2^53 - 1) and 2^53 - 1.
JavaScript (ES2026) Since ES2015
Syntax
Number.isSafeInteger(value)
Parameters
| Parameter | Description |
|---|---|
value |
The value to test. |
Return value
true or false.
Examples
console.log(Number.isSafeInteger(2 ** 53 - 1), Number.isSafeInteger(2 ** 53));
Output
true false
console.log(2 ** 53 === 2 ** 53 + 1); // precision is lost
console.log(2n ** 53n === 2n ** 53n + 1n); // BigInt is exact
Output
true false
Version history
| Version | Change |
|---|---|
| JavaScript ES2015 | Added |
Related
Number.MAX_SAFE_INTEGER· The largest integer JavaScript numbers can represent exactly: 2^53 - 1, or 9,007,199,254,740,991.Number.isInteger()· Return true if a value is a number with no fractional part. Strings aren't converted, so Number.isInteger("5") is false.- JavaScript Numbers · tutorial
- JavaScript Type Conversion · tutorial