JS властивість Number.NaN
Загальний опис
Number.NaN
– це спеціальне значення у JavaScript, яке вказує на "не число" (англ. "Not a Number"). Ця властивість використовується для представлення невизначеного або некоректного числового результату. У програмуванні виникають ситуації, коли результат операції неможливо визначити як дійсне число, і саме тут Number.NaN
стає незамінним.
Наприклад, при спробі поділити 0 на 0 або отримати квадратний корінь з від'ємного числа, результат буде NaN
.
Використання Number.NaN
:
Для перевірки значень на "не число" замість прямого порівняння із Number.NaN
рекомендується використовувати вбудовану функцію isNaN()
, оскільки пряме порівняння може бути ненадійним.
Приклад:
let result = 0 / 0;
if (isNaN(result)) {
console.log("Результат є NaN");
} else {
console.log("Результат є дійсним числом");
}
В цьому прикладі результат поділу 0 на 0 є NaN
, тому буде виведено повідомлення "Результат є NaN".
Особливості Number.NaN
:
Number.NaN
є єдиною властивістю в JavaScript, яка не є рівною самій собі. Тобто, вираз(Number.NaN === Number.NaN)
повернеfalse
.- Завжди використовуйте функцію
isNaN()
для перевірки наNaN
, а не пряме порівняння. - Існує також глобальна функція
isNaN()
, але для надійності краще користуватисяNumber.isNaN()
, яка є строгіше типізованою.
Нотатка: |
|
Нотатка: | Щоб перевірити, чи є деяке значення
|
Порада: | Якщо ви спробуєте порівняти
|
Порада: | Якщо хоч одне з значень у вашій математичній операції є
|
Синтаксис
Number.NaN
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми покажемо, як використовувати Number.NaN
для перевірки, чи є значення "не числом". Це може бути корисно, коли потрібно впевнитися, що результат обчислень можна використовувати в подальших обчисленнях.
const result = Math.sqrt(-1);
// Перевіряємо, чи результат є NaN
if (isNaN(result)) {
console.log('Результат не є дійсним числом');
} else {
console.log('Результат:', result);
}
У цьому прикладі ми розглянемо, як видалити всі значення "не числом" (NaN
) з масиву чисел. Це може бути корисно, наприклад, після перетворення рядків масиву в числа, коли деякі з рядків не можуть бути конвертовані у валідні числові значення.
const strings = ['5', '10', 'apple', '25', 'orange'];
const numbers = strings.map(str => parseFloat(str));
// Видаляємо всі NaN значення з масиву
const validNumbers = numbers.filter(num => !isNaN(num));
console.log(validNumbers); // [5, 10, 25]