NaN – это особый случай. Число равно NaN только если оно NaN или если это выражение деления 0 на 0, которое возвращает NaN . Во всех остальных случаях мы можем передать ему то, что хотим, но он вернет false :
Number.isNaN(NaN) //true
Number.isNaN(0 / 0) //true
Number.isNaN(1) //false
Number.isNaN('Flavio') //false
Number.isNaN(true) //false
Number.isNaN({}) //false
Number.isNaN([1, 2, 3]) //false
Оригинал: “https://flaviocopes.com/javascript-number-isnan/”