Примеры возникновения NaN:
- Неверное преобразование типов:
Главная страница » JavaScript » 12. NaN
NaN
(Not-a-Number) — это специальное значение в JavaScript, которое обозначает «не число». Оно используется для обозначения результатов операций, которые не имеют числового значения. Понимание NaN
и его поведение важно для обработки ошибок и корректной работы с числовыми данными.
Определение NaN:
NaN
представляет результат операций, которые не могут быть представлены как числа.
let result = 0 / 0;
console.log(result); // NaN
let invalidNumber = Number("abc");
console.log(invalidNumber); // NaN
Свойства NaN:
NaN
не равен ни одному числу, включая самого себя.NaN === NaN
вернёт false
.
console.log(NaN === NaN); // false
Проверка на NaN:
NaN
следует использовать функцию isNaN()
.Number.isNaN()
, который проверяет только числовые значения.
console.log(isNaN("string")); // true (потому что "string" не является числом)
console.log(Number.isNaN("string")); // false (потому что "string" не является числом)
let result = 0 / 0;
console.log(Number.isNaN(result)); // true
Примеры возникновения NaN:
let num = Number("abc"); // Неудачное преобразование строки в число
console.log(num); // NaN
let x = "hello" * 2; // Умножение строки на число
console.log(x); // NaN
let userInput = prompt("Введите число:");
let number = Number(userInput);
if (Number.isNaN(number)) {
console.log("Введено не число");
} else {
console.log("Введенное число:", number);
}
function divide(a, b) {
if (b === 0) {
return NaN; // Деление на ноль
}
return a / b;
}
let result = divide(10, 0);
if (Number.isNaN(result)) {
console.log("Результат деления не является числом");
} else {
console.log("Результат деления:", result);
}
Проверка NaN с помощью оператора сравнения:
Оператор ===
не работает для проверки NaN
, так как NaN
не равен самому себе.
let result = 0 / 0;
console.log(result === NaN); // false
Решение: Используйте Number.isNaN()
для проверки.
console.log(Number.isNaN(result)); // true
Неявное преобразование типов:
Неявное преобразование типов может привести к неожиданным результатам и появлению NaN
.
let result = "abc" / 2;
console.log(result); // NaN
Решение: Проверяйте данные перед выполнением арифметических операций.
let input = "10";
let number = Number(input);
if (!Number.isNaN(number)) {
console.log(number * 2); // 20
} else {
console.log("Некорректный ввод");
}
Знание особенностей NaN
и правильное его использование поможет вам эффективно обрабатывать ошибки и данные в ваших программах. Понимание того, как NaN
возникает и как с ним работать, позволяет создавать более надёжные и устойчивые к ошибкам приложения.
Напишите код, который выполняет следующие действия:
Number.isNaN()
.
let userInput = prompt("Введите число:");
let number = Number(userInput);
if (Number.isNaN(number)) {
console.log("Ошибка: введено не число.");
} else {
console.log("Введённое число:", number);
}
Напишите функцию safeDivide
, которая выполняет деление двух чисел и возвращает NaN
, если делитель равен нулю. Проверьте её работу с разными значениями.
function safeDivide(a, b) {
if (b === 0) {
return NaN;
}
return a / b;
}
console.log(safeDivide(10, 2)); // 5
console.log(safeDivide(10, 0)); // NaN
let result = safeDivide(10, 0);
if (Number.isNaN(result)) {
console.log("Результат деления не является числом");
} else {
console.log("Результат деления:", result);
}
NaN
в JavaScript и избегать распространённых ошибок, связанных с некорректными числовыми значениями.Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.