Frontend/Javascript

Number.isInteger()

rachel_13 2025. 4. 2. 23:49

Number.isInteger() 

Number.isInteger(value)

 

value가  integer(정수형)일 경우에만 true를 반환한다.

따라서, NaN, Infinity인 경우 false를 반환하며, 숫자형이 아닌 타입이 올 경우 항상 false를 반환한다.

단, 정수로 표시될 수 있는 부동 소수점 타입의 숫자가 들어올 경우 true를 반환한다.

 

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

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

Number.isInteger(5.0); // true
Number.isInteger(5.000000000000001); // false
Number.isInteger(5.0000000000000001); // true, because of loss of precision
Number.isInteger(4500000000000000.1); // true, because of loss of precision

 

예를 들면,

  if (typeof amount !== "number" || isNaN(amount) || 
	amount < 0 || !Number.isInteger(amount)) {
     	....중략
}

 

이렇게 덕지덕지 붙일 필요없이

  if (!Number.isInteger(amount) || amount < 0) {

 

이렇게 한줄이면 끝난다는 것이다.

메서드를 사용할 때 정확하게 알고 사용하자.!

 

 

 

 

출처: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger

 

Number.isInteger() - JavaScript | MDN

The Number.isInteger() static method determines whether the passed value is an integer.

developer.mozilla.org