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
'Frontend > Javascript' 카테고리의 다른 글
Debounce vs Throttle 차이점 (작성중) (0) | 2023.04.17 |
---|---|
socket.io (1) - 기본원리 (1) | 2023.04.13 |
WebRTC - 실시간 채팅 APP 만들기 (5) (0) | 2023.04.13 |
WebRTC - 실시간 채팅 APP 만들기 (4) (0) | 2023.04.13 |
WebRTC - 실시간 채팅 APP 만들기 (3) (0) | 2023.04.13 |