정수와 실수를 구분하는 방법은 다음의 3가지 방법을 이용할 수 있습니다.

1.Number.isInteger() 함수 이용

매개변수의 값이 정수면 true를, 아니면 false를 반환합니다.

// 정수 일때 true
Number.isInteger(0);         // true
Number.isInteger(1);         // true
Number.isInteger(77);        // true

// 실수 일때 false
Number.isInteger(77.77);     // false
Number.isInteger(0.1);       // false
Number.isInteger(Math.PI);   // false

// 기타 false인 값들
Number.isInteger(NaN);       // false
Number.isInteger(Infinity);  // false
Number.isInteger(-Infinity); // false
Number.isInteger('10');      // false
Number.isInteger(true);      // false
Number.isInteger(false);     // false
Number.isInteger([1]);       // false

2. 나머지 연산자 (%) 이용

정수는 1로 나누었을 때, 나머지가 항상 0이기 때문에 나머지 연산자를 이용하여 숫자를 정수인지 확인할 수 있습니다.

function isInt(n) {
   return n % 1 === 0;
};

console.log(isInt(10));      // true
console.log(isInt(0));       // true
console.log(isInt(1));       // true
console.log(isInt(77));      // true

console.log(isInt(10.2));    // false
console.log(isInt(Math.PI)); // false
console.log(isInt(-55.55));  // false

3. parseInt() 함수 이용

parseInt 함수의 매개변수에 n이 정수가 아닌 실수가 들어온다면, return 값이 0이 아니게 되어, false를 반환합니다.

function isInt(n) {
   return parseInt(n) - n === 0;
};

console.log(isInt(10));      // true
console.log(isInt(0));       // true
console.log(isInt(1));       // true
console.log(isInt(77));      // true

console.log(isInt(10.2));    // false
console.log(isInt(Math.PI)); // false
console.log(isInt(-55.55));  // false