> 웹 프론트엔드 > JS 튜토리얼 > NAN === NAN이 JavaScript에서 False를 반환하는 이유는 무엇입니까?

NAN === NAN이 JavaScript에서 False를 반환하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-25 16:37:09
원래의
364명이 탐색했습니다.

Why Does NaN === NaN Return False in JavaScript?

NaN === NaNfalse으로 평가되는 JavaScript의 특이한 동작은 종종 개발자를 당황하게 합니다. 이 문서에서는 그 이유를 설명하고 NaN 감지를 위한 올바른 방법을 제공합니다.

NaN의 이해

NaN("Not-a-Number")은 유효하지 않거나 정의되지 않은 수학 연산의 결과를 나타냅니다. 예는 다음과 같습니다.

<code class="language-javascript">console.log(0 / 0);       // NaN
console.log(Math.sqrt(-1)); // NaN</code>
로그인 후 복사

왜 불평등이 발생하는가?

부동 소수점 연산에 대한 IEEE 754 표준에서는 NaN이 자신을 포함하여 어떤 것과도 동일하지 않다고 규정합니다. 이 설계는 유효하지 않은 결과가 유효한 숫자 값인 것처럼 잘못 처리되는 것을 방지합니다. 기본적으로 NaN은 오류 조건을 표시하며 본질적으로 비교할 수 없습니다.

신뢰할 수 있는 NaN 검사

NaN을 처리할 때 직접 비교가 실패합니다. 대신 다음 기능을 사용하세요.

  • isNaN(): 이 전역 함수는 값이 NaN인지 또는 NaN으로 강제 변환될 수 있는지 확인합니다.
<code class="language-javascript">console.log(isNaN("abc"));    // true</code>
로그인 후 복사
  • Number.isNaN(): 이 방법은 유형 강제를 피하면서 NaN에 대해 보다 정확한 검사를 제공합니다.
<code class="language-javascript">console.log(Number.isNaN(NaN)); // true</code>
로그인 후 복사

요약

NaN === NaN 비교는 NaN이 숫자 값이 아닌 오류 상태를 나타내기 때문에 false을 생성합니다. NaN을 정확하게 감지하려면 강력하고 안정적인 코드를 위해 isNaN() 또는 Number.isNaN()을 사용하세요.

출처

위 내용은 NAN === NAN이 JavaScript에서 False를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿