[javascript] Infinity와 NaN의 비교 연산
자바스크립트에서 Infinity
와 NaN
은 특별한 부동 소수점 값으로 처리됩니다. 이들 값을 비교하는 것은 특이한 동작을 보일 수 있으므로 주의가 필요합니다.
Infinity
Infinity
는 “무한대”를 나타내는 값으로, 어떠한 숫자보다 큰 값으로 간주됩니다. Infinity
는 어떠한 숫자와 비교하여도 항상 크다고 판단됩니다.
console.log(Infinity > 100); // true
console.log(Infinity > -1000); // true
NaN
NaN
은 “숫자가 아님”을 의미하는 값으로, 숫자가 아닌 연산의 결과나 부적절한 숫자 변환 등으로 발생합니다. NaN
은 자기 자신과 포함하여 어떠한 값과도 같지 않다고 판단됩니다.
console.log(NaN === NaN); // false
이와 같은 특징으로 인해 Infinity
와 NaN
을 비교하는 경우 예상치 못한 결과를 초래할 수 있습니다.
비교 연산
이를 살펴보기 위해 다음과 같은 비교를 고려해 보겠습니다.
console.log(Infinity > NaN); // false
console.log(Infinity < NaN); // false
console.log(Infinity === NaN); // false
모든 비교에서 false
가 반환됩니다. 이는 NaN
과 Infinity
가 어떤 숫자와도 정확히 비교되지 않는다는 사실을 보여줍니다.
따라서 Infinity
와 NaN
을 사용할 때에는 이러한 특징을 고려하여 적절한 예외 처리 및 조건문을 사용해야 합니다.
결론
자바스크립트에서 Infinity
와 NaN
은 특별한 동작을 가지고 있으므로, 이에 대한 이해와 주의가 필요합니다. Infinity
와 NaN
을 비교하는 경우에는 예상치 못한 결과가 나올 수 있으므로 주의가 필요합니다.
이러한 특이한 동작을 이해하여 안전한 코드를 작성하고, 버그를 예방할 수 있도록 주의 깊게 개발하는 것이 중요합니다.