ECMA-262 9 번째 에디션 6 월 2018 (표준이되는 자바 스크립트는 의도가 일치하기는) 6.1.6는 "번호 유형"에서 말한다 :
… IEEE 표준 의 9007199254740990 (즉, 2 53 -2) 고유의 "Not-a-Number"값은 ECMAScript에서 단일 특수 NaN 값으로 표시됩니다.… 일부 구현에서 외부 코드는 차이를 감지 할 수 있습니다. 다양한 Not-a-Number 값 사이에서 이러한 동작은 구현에 따라 다릅니다. ECMAScript 코드에서 모든 NaN 값은 서로 구별 할 수 없습니다.
24.1.17“NumberToRawBytes (유형, 값, isLittleEndian)”는 다음과 같이 말합니다.
… 값이 NaN 인 경우 rawBytes는 IEEE 754-2008 binary64 형식 Not-a-Number 인코딩에서 선택한 모든 구현으로 설정할 수 있습니다. 구현은 항상 구현 가능한 식별 가능한 NaN 값마다 동일한 인코딩을 선택해야합니다.…
나는이 질문에 대해 밝히고있는 NaN을 언급하는 다른 구절들을 보지 못했다. 한편으로 24.1.17은 NaN을 원시 바이트로 변환 할 때 NaN의 비트가 보존되어야 함을 효과적으로 알려줍니다. 그러나 다른 작업에서 비트를 유지해야한다고 알려주는 것은 없습니다. 24.1.17의이 요구 사항은 다른 연산에 의해 비트가 임의로 변경 될 수 있다면 목적을 달성하지 못하기 때문에 이것이 의도 인 것으로 추론 할 수있다. 그러나 나는 그 의도에 따라 이것을 구현하기 위해 JavaScript 구현에 의존하지 않을 것입니다.