Program Tip

NaN === NaN이 거짓 인 이유는 무엇입니까?

programtip 2021. 1. 8. 22:11
반응형

NaN === NaN이 거짓 인 이유는 무엇입니까?


Javascript로 NaN === NaN반환 false되는 이유는 무엇 입니까?

> undefined === undefined
true
> NaN === NaN
false
> a = NaN
NaN
> a === a
false

문서 페이지 나는이를 참조하십시오

NaN에 대한 테스트

같음 연산자 ( =====)는에 대해 값을 테스트하는 데 사용할 수 없습니다 NaN. isNaN대신 사용하십시오 .

질문에 대한 답변이있는 참조가 있습니까? 환영합니다.


엄격한 대답 : JS 사양 이 그렇게 말하고 있기 때문에 :

  • Type (x)가 숫자이면
    • x가 NaN이면 false를 반환합니다.
    • y가 NaN이면 false를 반환합니다.

유용한 답변 : 부동 소수점 숫자에 대한 IEEE 754 사양 (부동 소수점에 대해 모든 언어에서 사용됨)은 NaN이 결코 같지 않다고 말합니다.


이 동작은 IEEE-754 표준 (이 점에서 JavaScript 사양이 따르는)에 의해 지정됩니다 .

자세한 설명 은 IEEE754 NaN 값에 대해 false를 반환하는 모든 비교의 근거는 무엇입니까?를 참조하십시오 .


의 양쪽 모두 NaN===NaN동일한 값 포함하고 해당 유형은 Number동일하지만 동일하지 않습니다. ECMA-262에 따르면 양쪽 ==또는 ===포함 NaN하면 거짓 값이 발생합니다.

여기에서 세부 규칙을 찾을 수 있습니다.

http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3

참조 URL : https://stackoverflow.com/questions/19955898/why-is-nan-nan-false

반응형