Новые возможности для своего здоровья и красоты с Nan C
Nan (Not a number) является специальным значением, которое может появиться в результатах математических операций. Но зачастую, использование Nan может привести к некорректным результатам и ошибкам в программе.
Пример 1: Деление на ноль.
При делении на ноль результатом будет NaN:
let a = 10;
let b = 0;
let result = a / b;
console.log(result); // NaN
Пример 2: Некорректный ввод.
Если пользователь вводит не числовое значение, результатом будет NaN:
let userInput = "Hello, world!";
let result = Number(userInput);
console.log(result); // NaN
Как определить NaN:
let a = 10;
let b = "Hello, world!";
let result = a / b;
console.log(isNaN(result)); // true
console.log(Number.isNaN(result)); // true
console.log(isNaN(a)); // false
console.log(Number.isNaN(a)); // false
Функция isNaN() возвращает true, если переданное ей значение является NaN, и false во всех остальных случаях. Однако, эта функция также возвращает true для некорректных числовых значений, таких как "abc" или "2,3".
Функция Number.isNaN() вернет true только для специального значения NaN. Она не будет возвращать true для строк "abc" или "2,3".
Как избежать появления NaN:
1. Проверять входные данные, чтобы гарантировать, что они являются числовыми значениями:
function sum(a, b) {
if (typeof a !== "number" || typeof b !== "number"){
return "Invalid input";
}
return a + b;
}
console.log(sum(10, 5)); // 15
console.log(sum(10, "Hello, world!")); // Invalid input
2. Проверять результаты математических операций на NaN и обрабатывать их соответствующим образом:
let a = 10;
let b = "Hello, world!";
let result = a / b;
if (Number.isNaN(result)) {
console.log("Invalid operation");
} else {
console.log(result);
}