NaN (Not a Number) указывает на неудачную операцию с числами и может привести к неожиданным ошибкам, если не обрабатывать его должным образом. 1
Некоторые ситуации, которые могут вернуть NaN в JavaScript:
- Ошибка парсинга числа. 3 Например, при попытке превратить строку в число. 3
- Результат математической операции не находится в поле действительных чисел. 3 К примеру, взятие корня от -1. 3
- Один из операндов в арифметической операции — NaN. 3 Например, 5 + NaN. 3
- Результат арифметической операции не определён для переданных операндов. 3 Например, undefined + undefined. 3
- Арифметическая операция со строкой, кроме сложения. 3 Например, «привет» * 5. 3
Если в математическом выражении есть NaN, в результате тоже получится NaN. 3 Единственное исключение — возведение в нулевую степень, NaN 0 = 1. 3