2.3.4 정수인지 확인

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;
  }
}

좋은 웹페이지 즐겨찾기