Skip to content

isSafeInteger (Lodash Compatibility) ​

Use Number.isSafeInteger

This isSafeInteger function operates slowly due to additional type checking overhead.

Instead, use the faster and modern Number.isSafeInteger.

Checks if a value is a safe integer.

typescript
const result = isSafeInteger(value);

Reference ​

isSafeInteger(value) ​

Use isSafeInteger when you need to check if a given value is a safe integer. A safe integer is an integer between -(2^53 - 1) and (2^53 - 1), which can be accurately represented in JavaScript.

typescript
import { isSafeInteger } from 'es-toolkit/compat';

// Safe integers
isSafeInteger(3); // true
isSafeInteger(-42); // true
isSafeInteger(0); // true
isSafeInteger(Number.MAX_SAFE_INTEGER); // true (9007199254740991)
isSafeInteger(Number.MIN_SAFE_INTEGER); // true (-9007199254740991)

// Unsafe integers
isSafeInteger(Number.MAX_SAFE_INTEGER + 1); // false
isSafeInteger(Number.MIN_SAFE_INTEGER - 1); // false
isSafeInteger(9007199254740992); // false

// Non-integer values
isSafeInteger(3.14); // false
isSafeInteger('3'); // false
isSafeInteger(1n); // false (BigInt)
isSafeInteger([]); // false
isSafeInteger({}); // false
isSafeInteger(null); // false
isSafeInteger(undefined); // false

// Infinity and NaN
isSafeInteger(Infinity); // false
isSafeInteger(-Infinity); // false
isSafeInteger(NaN); // false

Parameters ​

  • value (any): The value to check.

Returns ​

(boolean): Returns true if the value is a safe integer, otherwise false.

Released under the MIT License.