ECMA-262 9 inci Baskı, Haziran 2018, (standart hangi JavaScript amaçlanmaktadır uyması) 6.1.6 “Numara Tipi”, der ki:
… IEEE Standardının 9007199254740990 (yani 2 53 -2) farklı “Sayı Değil” değerleri ECMAScript'te tek bir özel NaN değeri olarak temsil edilir.… Bazı uygulamalarda, harici kod bir fark algılayabilir çeşitli Sayı Değil değerleri arasında, ancak bu tür davranışlar uygulamaya bağlıdır; ECMAScript koduna göre, tüm NaN değerleri birbirinden ayırt edilemez.
24.1.17 “NumberToRawBytes (tür, değer, isLittleEndian)” diyor:
… Değer NaN ise, rawBytes seçilen IEEE 754-2008 binary64 biçiminde Sayı Değil kodlamasına göre ayarlanabilir. Bir uygulama, her bir uygulama ayırt edilebilir NaN değeri için her zaman aynı kodlamayı seçmelidir.
Bu soruyu aydınlatan NaN'den bahseden başka pasajlar görmüyorum. Bir yandan, 24.1.17, NaN'yi ham bayta dönüştürürken bir NaN'nin bitlerinin korunması gerektiğini bize etkili bir şekilde söyler. Ancak, bitlerin diğer işlemlerde korunması gerektiğini söyleyen başka bir şey görünmüyor. Bunun niyet olduğu anlaşılabilir, çünkü 24.1.17'deki bu gereklilik, bitlerin herhangi bir başka işlemle keyfi olarak değiştirilebilmesi durumunda bir amaca hizmet etmeyecektir. Ancak bunu bu amaca uygun olarak uygulamak için JavaScript uygulamalarına güvenmem.