ES6부터는 Number.isInteger()로 어떤 값의 정수 여부를 판단 가능하다.
Number.isInteger(42); // true
Number.isInteger(42.000); // true
Number.isInteger(42.3); // false
ES6 이전 버전을 위한 폴리필
if (!Number.isInteger) {
Number.isInteger = function (num) {
return typeof num == "number" && num % 1 == 0;
}
}
안전한 정수 여부는 ES6부터 Number.isSafeInteger()로 체크한다.
Number.isSafeInteger( Number.MAX_SAFE_INTEGER ); // true
Number.isSafeInteger( Math.pow( 2, 53 ) ); // false
Number.isSafeInteger( Math.pow( 2, 53 ) - 1 ); // true
ES6 이전 버전을 위한 폴리필
if (!Number.isSafeInteger) {
Number.isSafeInteger = function (num) {
return Number.isInteger( num ) &&
Math.abs ( num ) <= Number.MAX_SAFE_INTEGER;
}
}