JavaScript Convert a Value to Safe Integer

A safe integer is an integer that:

  1. Can be exactly represented as an IEEE-754 double precision number, and
  2. Whose IEEE-754 representation cannot be the result of rounding any other integer to fit the IEEE-754 representation


const toSafeInteger = num =>
    Math.max(Math.min(num, Number.MAX_SAFE_INTEGER), Number.MIN_SAFE_INTEGER)


let result1 = toSafeInteger('3.1');
let result2 = toSafeInteger('5.5');

console.log(result1); // 3
console.log(result2); // 6