[javascript] Infinity와 NaN의 데이터 타입

JavaScript에서 NaNInfinity는 숫자 값으로 간주됩니다. 그러나 이러한 값들은 숫자가 아닌 특별한 값으로 취급됩니다.

NaN (Not-A-Number)

NaN은 “숫자가 아님”을 나타내는 값입니다. 주로 수학적 계산 중에 발생하는 오류나 정의되지 않은 연산의 결과로 사용됩니다. 예를 들어, 0을 0으로 나누거나, 정의되지 않은 숫자에 대한 제곱근을 구하려고 시도할 때 NaN이 반환됩니다.

console.log(0 / 0); // NaN
console.log(Math.sqrt(-1)); // NaN

Infinity

Infinity는 양의 무한대를 나타내는 값입니다. 이 값은 어떤 숫자를 0으로 나누거나, 어떤 숫자보다 더 큰 수에 대한 연산 등에서 반환됩니다.

console.log(1 / 0); // Infinity
console.log(Number.MAX_VALUE * 2); // Infinity

데이터 타입

NaNInfinity는 모두 ‘number’ 데이터 타입에 속합니다.

console.log(typeof NaN); // number
console.log(typeof Infinity); // number

JavaScript에서 NaNInfinity는 숫자와 관련된 계산에서 오류를 나타내거나 무한대를 표현하기 위해 사용됩니다. 따라서 이런 값들과 연관된 코드를 작성할 때 유의해야 합니다.

참고문헌: MDN Web Docs, MDN Web Docs