ECMA-262 9 THฉบับมิถุนายน 2018 (มาตรฐานที่ JavaScript มีจุดมุ่งหมายเพื่อให้สอดคล้อง) กล่าวว่าใน 6.1.6“จำนวนพิมพ์”:
…ค่า 9007199254740990 (นั่นคือ 2 53 -2) ค่า“ Not-a-Number” ที่แตกต่างกันของมาตรฐาน IEEE แสดงเป็น ECMAScript ในรูปของค่า NaN พิเศษ…ในการใช้งานบางอย่างรหัสภายนอกอาจตรวจจับความแตกต่างได้ ระหว่างค่า Not-a-Number ต่างๆ แต่พฤติกรรมดังกล่าวขึ้นอยู่กับการนำไปใช้งาน ถึงรหัส ECMAScript ค่า NaN ทั้งหมดแยกไม่ออกจากกัน
24.1.17“ NumberToRawBytes (ชนิด, ค่า, isLittleEndian)” กล่าวว่า:
…หากค่าเป็น NaN rawBytes อาจถูกตั้งค่าเป็นการนำไปใช้งานใด ๆ ที่เลือกรูปแบบ IEEE 754-2008 รูปแบบไบนารี 64 การเข้ารหัส Not-a-Number การนำไปใช้จะต้องเลือกการเข้ารหัสเดียวกันสำหรับค่าการนำไปใช้งานแต่ละค่าที่แตกต่าง ...
ฉันไม่เห็นข้อความอื่น ๆ ที่กล่าวถึง NaN ที่ส่องสว่างในคำถามนี้ ในมือข้างหนึ่ง 24.1.17 บอกเราได้อย่างมีประสิทธิภาพบิตของ NaN จะต้องถูกเก็บรักษาไว้เมื่อแปลง NaN เป็นไบต์ดิบ อย่างไรก็ตามไม่มีสิ่งใดที่บอกเราได้ว่าต้องเก็บรักษาบิตในการดำเนินการอื่น หนึ่งอาจอนุมานได้ว่านี่เป็นความตั้งใจเพราะข้อกำหนดนี้ใน 24.1.17 จะให้บริการไม่มีวัตถุประสงค์ถ้าบิตสามารถเปลี่ยนแปลงได้โดยพลการโดยการดำเนินการอื่นใด แต่ฉันจะไม่พึ่งพาการใช้งานจาวาสคริปต์เพื่อดำเนินการสิ่งนี้ตามความตั้งใจนั้น