Придумайте четыре и больше способов проверить данные на NaN.
Приз за самый необычный способ.
Уже предложенные варианты:
// 1
Number.isNaN(value)
// 2
Object.is(NaN, value)
// 3
((value) => {
return value + 1 !== value + 1
})
/// 3.1 упрощенный
value !== value;
// 4
new Set([value, NaN]).size === 1
new Set([NaN]).has(value)
// 5
typeof value==="number" && String(value) === "NaN"
// 6
[NaN].includes(value)
// 7
typeof value === 'number' && !(value <= Infinity)
Есть еще минимум один вариант, который радикально отличается от всего предложенного