NaN(Not a Number)は、算術演算に含まれると常にNaNを結果として示し、NaNが計算に関与すると他の値はすべて無効になるという特性を持つ。たとえば、2 + NaNはNaNを返し、50 > NaNはfalseを返す。また、NaNは自らと等しくない唯一の値であり、NaN == NaNはfalse、NaN !== NaNはtrueとなる。この挙動は、NaNがプログラミング全般で計算の破綻を表すために設計されていることに起因している。つまり、NaNはエラーステートとして機能し、NaNが演算子として使用される際は常に結果としてNaNを返すため、計算における曖昧さを避ける役割を果たす。そのため、NaNは数値のように振る舞う必要があり、これは数値としての行動を持ちながらも同時に自らと等しくない不思議な存在として理解される。