isSafeInteger()
isSafeInteger(
value):value is number
Checks if value is a safe integer.
A safe integer is an integer that can be exactly represented as an IEEE-754 double precision number, and whose IEEE-754 representation cannot be the result of rounding any other integer to fit the IEEE-754 representation.
DEPRECATED
Use Number.isSafeInteger() directly instead.
Parametersโ
value: unknownโ
The value to check.
Returns: value is numberโ
true if value is a safe integer, else false.
See Alsoโ
Sinceโ
2.0.0
Also known asโ
isSafeInteger (Lodash, es-toolkit) ยท โ (Remeda, Radashi, Ramda, Effect, Modern Dash, Antfu)
Exampleโ
// โ Deprecated approach
isSafeInteger(42); // => true
isSafeInteger(9007199254740991); // => true (MAX_SAFE_INTEGER)
isSafeInteger(9007199254740992); // => false
// โ
Recommended approach
Number.isSafeInteger(42); // => true
Number.isSafeInteger(9007199254740991); // => true
Number.isSafeInteger(9007199254740992); // => false
How it works?โ
Checks if value is a safe integer (exactly representable in IEEE-754).
Safe Integer Rangeโ
Common Checksโ
| Value | Result |
|---|---|
42 | true |
9007199254740991 | true (MAX_SAFE_INTEGER) |
9007199254740992 | false |
3.14 | false |
Infinity | false |
Deprecated: Use
Number.isSafeInteger()directly.
Use Casesโ
Validate safe integer ๐โ
Check if value is a safe integer (within IEEE-754 precision).
Number.isSafeInteger(42); // true
Number.isSafeInteger(9007199254740991); // true (MAX_SAFE_INTEGER)
Number.isSafeInteger(9007199254740992); // false
Guard ID operationsโ
Ensure IDs don't lose precision.
function processId(id: number) {
if (!Number.isSafeInteger(id)) {
throw new Error('ID too large, use BigInt');
}
return fetchRecord(id);
}
true
false
Deprecated: Use