[javascript] Infinity와 NaN의 사용 제약 사항

JavaScript에서 Infinity와 NaN은 숫자 데이터 유형의 특별한 값으로 사용됩니다. 그러나 이러한 값들은 특정 제약 사항을 갖고 있으며, 이를 잘 이해하는 것이 중요합니다.

Infinity

Infinity는 숫자가 너무 커서 표현할 수 없는 경우에 사용됩니다. 이 값은 비교나 연산 시 다른 숫자와 비교되거나 연산되더라도 변하지 않습니다. 이러한 특성을 이용해 무한대를 나타내는 데 이용됩니다.

if(x === Infinity) {
   // 코드
}

NaN

NaN은 “Not a Number”의 줄임말로, 유효하지 않은 숫자를 나타냅니다. 예를 들어 0을 0으로 나누거나, 숫자가 아닌 값을 숫자로 변환하려고 할 때 발생합니다.

if(isNaN(x)) {
   // 코드
}

제약 사항

Infinity와 NaN을 사용할 때 몇 가지 제약이 있습니다. 먼저, === 연산자를 사용하여 NaN을 비교할 때 항상 false가 반환됩니다. 이 때는 Number.isNaN() 함수를 사용하여 비교해야 합니다.

if(Number.isNaN(x)) {
   // 코드
}

또한, Infinity는 무한대를 표현하므로 양의 무한대와 음의 무한대를 구별합니다.

if(x === Infinity) {
   // 양의 무한대
}
if(x === -Infinity) {
   // 음의 무한대
}

이러한 제약 사항을 고려하여 JavaScript에서 Infinity와 NaN을 올바르게 다루어야 합니다.

참고 자료

참고 자료를 통해 더 깊이있는 이해를 얻을 수 있습니다.