Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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:

  1. Number.NaN є єдиною властивістю в JavaScript, яка не є рівною самій собі. Тобто, вираз (Number.NaN === Number.NaN) поверне false.
  2. Завжди використовуйте функцію isNaN() для перевірки на NaN, а не пряме порівняння.
  3. Існує також глобальна функція isNaN(), але для надійності краще користуватися Number.isNaN(), яка є строгіше типізованою.
Нотатка:

NaN стоїть за "Not-a-Number" і вказує на результат операції, яка математично недопустима або не може бути представлена. Це важливо розуміти, щоб правильно інтерпретувати результати обчислень.

let result = Math.sqrt(-1);
console.log(result); // NaN
Нотатка:

Щоб перевірити, чи є деяке значення NaN, не звертайтеся напряму до Number.NaN, оскільки порівняння з ним може дати неочікуваний результат. Замість цього використовуйте функцію isNaN().

let value = Math.sqrt(-1);
if (isNaN(value)) {
  console.log("Значення не є числом");
}
Порада:

Якщо ви спробуєте порівняти NaN з іншим NaN за допомогою оператора рівності (== або ===), ви отримаєте false. Це особливість NaN, і потрібно бути уважним з цим.

console.log(NaN === NaN); // false
Порада:

Якщо хоч одне з значень у вашій математичній операції є NaN, результат завжди буде NaN. Тому завжди переконуйтеся, що працюєте з дійсними числовими значеннями перед виконанням обчислень.

let someValue = NaN;
console.log(someValue + 5); // NaN

Синтаксис

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]