728x90

 

숫자가 정수인지 실수인지 체크를 할 경우가 있습니다.

 

이때 값을 나머지 연산자 %를 사용하면 구할 수 있습니다. 

function isInteger(number)  {
  return number % 1 === 0;
}

console.log(isInteger(1)); // 결과 : true
console.log(isInteger(10)); // 결과 : true
console.log(isInteger(123456)); // 결과 : true

console.log(isInteger(1.1)); // 결과 : false
console.log(isInteger(123.12)); // 결과 : false
console.log(isInteger(12345.12345)); // 결과 : false

 

그런데 나머지 연산자 %를 이용하여 정수인지 판별하기 위해서는 위와 같이 함수를 만들거나 console.log( 123.456 % 1 === 0); 와 같이 사용해야 하는데 가독성이 좋지 않습니다.

 

JavaScript에는 이 때 사용할 수 있는 isInteger() 메서드를 제공합니다.

 

isInteger()

Number.isInteger(value);

 

Number.inInteger() 함수는 파라미터로 입력받은 값이 정수인지 판단하여 boolean값을 반환합니다.

Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true

Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false

 

값이 만약에 NaN이거나 Infinity여도 false를 반환합니다.

 

 

 

Reference