This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Number.isInteger()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015년 9월.
Number.isInteger() 정적 메서드는 전달받은 값의 정수 여부를 판별합니다.
In this article
시도해 보기
function fits(x, y) { if (Number.isInteger(y / x)) { return "Fits!"; } return "Does NOT fit!";}console.log(fits(5, 10));// Expected output: "Fits!"console.log(fits(5, 11));// Expected output: "Does NOT fit!"구문
Number.isInteger(value)매개변수
value정수인지 확인하려는 값.
반환 값
주어진 값이 정수라면 불리언 값true, 그렇지 않으면false 입니다.
설명
대상 값이 정수이면true를 반환하고, 그렇지 않으면false를 반환합니다. 값이NaN 또는Infinity인 경우false를 반환합니다. 이 메서드는 정수로 표현할 수 있는 부동 소수점 숫자에 대해서도true를 반환합니다. 값이 숫자가 아닌 경우 항상false를 반환합니다.
일부 숫자 리터럴은 정수가 아닌 것처럼 보이지만 실제로는 정수를 나타내며, 이는 ECMAScript 부동 소수점 숫자 인코딩의 정밀도 제한(IEEE-754)으로 인해 발생합니다. 예를 들어5.0000000000000001는5와1e-16만큼만 차이가 나며, 이는 너무 작아서 표현할 수 없습니다. (참고로,Number.EPSILON은 1과 1보다 큰 다음 표현 가능한 부동 소수점 수 사이의 거리를 저장하며, 이는 약2.22e-16입니다). 따라서5.0000000000000001는5와 동일한 인코딩으로 표현되므로Number.isInteger(5.0000000000000001)는true를 반환하게 됩니다.
이와 비슷하게Number.MAX_SAFE_INTEGER의 주변의 숫자는 정밀도 손실로 인해 정수가 아닌 경우에도Number.isInteger가true를 반환하게 됩니다. (실제 임계값은 10진수를 표현하는 데 필요한 비트 수에 따라 달라집니다. 예를 들어Number.isInteger(4500000000000000.1)는true이지만Number.isInteger(4500000000000000.5)는false입니다.).
예제
>isInteger 사용하기
Number.isInteger(0); // trueNumber.isInteger(1); // trueNumber.isInteger(-100000); // trueNumber.isInteger(99999999999999999999999); // trueNumber.isInteger(0.1); // falseNumber.isInteger(Math.PI); // falseNumber.isInteger(NaN); // falseNumber.isInteger(Infinity); // falseNumber.isInteger(-Infinity); // falseNumber.isInteger("10"); // falseNumber.isInteger(true); // falseNumber.isInteger(false); // falseNumber.isInteger([1]); // falseNumber.isInteger(5.0); // trueNumber.isInteger(5.000000000000001); // falseNumber.isInteger(5.0000000000000001); // true, 정밀도 손실 발생Number.isInteger(4500000000000000.1); // true, 정밀도 손실 발생명세서
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.isinteger> |