Javascript automatic type conversion convert nan into number, so checking if a number is not a number will always b false. And nan !== nan will be true. Nan can be used as a numerical value on mathematical operations, while none cannot (or at least shouldn't).

None is an. Nan is designed to propagate through all calculations, infecting them like a virus, so if somewhere in your deep, complex calculations you hit upon a nan, you don't bubble out a seemingly sensible.