개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.22 19:02

isNaN(value) 관련 질문내용입니다.

목록
  • 함수형광신도 9일 전 2025.05.22 19:02
  • 3
    1
isNaN(value) 함수 사용시 오류 발생 이유를 알고 싶습니다.

제발 도와주세요. isNaN(value) 함수는 숫자가 아닌 값에 대해 true를 반환하고 숫자라면 false를 반환합니다. 하지만 아래 코드를 실행했을 때 NaN을 반환할 때 isNaN(value) 함수가 true를 반환하는 이유를 모르겠습니다.

javascript

let x = 10 / 0;

console.log(x); // NaN

console.log(isNaN(x)); // false



위 코드에서 x는 NaN이지만 isNaN(x) 함수는 false를 반환합니다. 이게 왜 그런지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  9일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,046건 / 5 페이지

검색

게시물 검색