JS метод Number.isNaN()
Загальний опис
Number.isNaN()
— це статичний метод в JavaScript, що дозволяє перевірити, чи є задане значення спеціальним значенням "Not-a-Number" (NaN
). Його основна корисність полягає в здатності точно розрізняти значення NaN
від інших значень. На практиці це може бути корисно, коли потрібно виявити помилкові операції, які призводять до NaN
, особливо під час роботи з математичними обчисленнями.
По-перше, давайте розглянемо, як використовувати Number.isNaN()
в базових ситуаціях. Цей метод приймає один аргумент та повертає true
, якщо значення цього аргументу є NaN
, і false
- в іншому випадку.
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(42)); // false
console.log(Number.isNaN('42')); // false
Зверніть увагу, що Number.isNaN()
відрізняється від глобальної функції isNaN()
. Остання перетворює свій аргумент в число, тому може вважати деякі значення "не числами", хоча насправді вони ними не є.
console.log(isNaN('Hello')); // true, оскільки 'Hello' не може бути перетворено в число
console.log(Number.isNaN('Hello')); // false, оскільки 'Hello' не є NaN
Основна відмінність полягає у тому, що Number.isNaN()
не намагається перетворити введене значення на число. Це робить його надійнішим для перевірки, чи є конкретне значення дійсно NaN
.
Важливо пам'ятати, що NaN
у JavaScript має декілька унікальних особливостей. Наприклад, NaN
не є рівним самому собі. Тому пряма порівняльна перевірка value === NaN
завжди повертає false
. Саме тому метод Number.isNaN()
стає таким корисним у певних обставинах.
Порада: | Хоча обидві функції називаються
|
Порада: |
|
Порада: | Незважаючи на те, що |
Порада: | Завжди додавайте відповідні перевірки перед використанням математичних операцій, щоб уникнути випадкового отримання |
Синтаксис
Number.isNaN(value)
Параметри
- *
value
Значення, яке необхідно перевірити на
NaN
.
Return
boolean
Повертає булеве значення
true
, якщо подане значення є числом із значеннямNaN
. В іншому випадку повертаєfalse
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
25 |
15 |
9 |
15 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
25 |
15 |
9 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Цей приклад дозволить користувачу ввести рядок у текстове поле, а потім натиснути кнопку для перевірки, чи є введене значення NaN за допомогою методу Number.isNaN()
. Результат буде відображено під кнопкою.
У цьому прикладі ми використовуємо метод Number.isNaN()
для перевірки, чи є результат ділення числа на нуль "не числом" (NaN
).
const result1 = 5 / "text"; // Намагаємося поділити число на текстовий рядок
const result2 = 10 / 2; // Звичайне ділення
console.log(Number.isNaN(result1)); // true
console.log(Number.isNaN(result2)); // false
У цьому прикладі ми створюємо функцію, яка перетворює рядок у число, і використовує Number.isNaN()
для повертання спеціального повідомлення, якщо конвертація не вдалася.
function convertToNumber(str) {
const num = Number(str);
// Перевіряємо, чи є результат конвертації "не числом"
if (Number.isNaN(num)) {
return "Конвертація не вдалася! Будь ласка, введіть вірний рядок для конвертації.";
}
return num;
}
const str1 = "25.5";
const str2 = "Hello";
console.log(convertToNumber(str1)); // 25.5
console.log(convertToNumber(str2)); // Конвертація не вдалася! Будь ласка, введіть вірний рядок для конвертації.