
isNaN(value) 함수는 숫자가 아닌 값에 대해 true를 반환하고 숫자라면 false를 반환합니다. 하지만 NaN(NOT A NUMBER)인 경우는 예외입니다. isNaN(NaN)은 true를 반환합니다.
NaN은 숫자가 아니라는 의미지만, 숫자라고 생각하는 JavaScript 엔진이 NaN을 숫자로 인식하여 isNaN(NaN)을 false로 반환하는 문제가 있습니다.
이 문제를 해결하기 위해 2015년 ECMAScript 6(ECMAScript 2015)에서 Math.isNaN() 함수가 추가되었습니다. Math.isNaN() 함수는 NaN을 숫자가 아닌 값으로 인식하여 isNaN(NaN)을 true로 반환합니다.
따라서 위 코드를 Math.isNaN() 함수를 사용하여 수정하면 다음과 같습니다.
javascript
let x = 10 / 0;
console.log(x); // NaN
console.log(Math.isNaN(x)); // true
Math.isNaN() 함수를 사용하면 NaN을 숫자가 아닌 값으로 인식하여 isNaN(NaN)을 true로 반환할 수 있습니다.
2025-05-22 19:03