Skip to content

isSafeInteger

INFO

This function is only available in es-toolkit/compat for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.

When imported from es-toolkit/compat, it behaves exactly like lodash and provides the same functionalities, as detailed here.

Checks if value is a safe integer (between -(2^53 – 1) and (2^53 – 1), inclusive).

A safe integer is an integer that can be exactly represented as a double precision number, and no other integer rounds to it under any IEEE-754 rounding mode.

This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to number.

Signature

typescript
function isSafeInteger(value?: unknown): boolean;

Parameters

  • value (unknown): The value to check

Returns

(boolean): true if value is an integer and between the safe values, otherwise false

Examples

typescript
isInteger(3); // Returns: true
isInteger(Number.MIN_SAFE_INTEGER - 1); // Returns: false
isInteger(1n); // Returns: false
isInteger('1'); // Returns: false

Released under the MIT License.