JS метод Number.isFinite()


Загальний опис

Number.isFinite() - це статичний метод в JavaScript, який визначає, чи є задане значення скінченним числом. У відмінність від глобальної функції isFinite(), метод Number.isFinite() не перетворює значення до числа, що робить його надійнішим для перевірки реального числового типу даних. На практиці ця особливість робить його корисним для відсіювання даних, що можуть бути невірного типу.

Для того, щоб користуватися методом Number.isFinite(), вам потрібно передати йому значення як аргумент. Якщо значення є скінченним числом, метод поверне true, в іншому випадку - false.

Приклади використання:

  1. Найпростіший випадок:

    console.log(Number.isFinite(15));  // true
    console.log(Number.isFinite(Infinity));  // false
    
  2. Перевірка рядків:

    console.log(Number.isFinite("15"));  // false, тому що це рядок
    console.log(Number.isFinite("Infinity"));  // false, незалежно від змісту рядка
    
  3. Перевірка інших типів даних:

    console.log(Number.isFinite(true));  // false, тому що це булеве значення
    console.log(Number.isFinite(null));  // false, тому що це значення null
    

Якщо порівнювати з глобальною функцією isFinite(), то метод Number.isFinite() не проводить примусового приведення типів. Це забезпечує більш точний результат при роботі із числами.

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

Приклад:

console.log(isFinite("15"));  // true, тому що "15" може бути перетворено на число
console.log(Number.isFinite("15"));  // false, тому що "15" - це рядок
автор: NagarD

Порада

Коли ви передаєте значення, яке не є числовим, до Number.isFinite(), він завжди повертає false. Тому зверніть увагу на тип даних, з якими ви працюєте, щоб отримати коректний результат.

console.log(Number.isFinite("Hello, World!")); // false
автор: NagarD
Нотатка

Якщо ви отримаєте в результатах обчислення Infinity або -Infinity, метод Number.isFinite() допоможе вам це виявити. Це може бути корисно при діленні на нуль або при виконанні інших операцій, які можуть призвести до нескінченності.

автор: NagarD
Нотатка

Хоча і глобальна функція isFinite(), і метод Number.isFinite() перевіряють на скінченність, метод Number.isFinite() не приводить значення до числа перед перевіркою, тоді як глобальна функція — так.

console.log(isFinite("123")); // true
console.log(Number.isFinite("123")); // false
автор: NagarD
Нотатка

Основна функція методу Number.isFinite() — це перевірка, чи є задане число скінченним. Це особливо корисно при роботі з даними, які можуть надходити з зовнішніх джерел, щоб переконатися, що значення може бути безпечно оброблено як число.

console.log(Number.isFinite(100)); // true
console.log(Number.isFinite(Infinity)); // false
автор: NagarD

Синтаксис

Number.isFinite(value)

Параметри

value

Значення, яке потребує перевірки на скінченність.

автор: NagarD

Повернення

boolean

Повертає булеве значення true, якщо передане значення є скінченним числом. В іншому випадку повертає false. Таким чином, він допомагає визначити, чи є аргумент дійсно скінченним числовим значенням.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
19 16 9 15 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 25 16 9
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У даному прикладі користувач може ввести значення у текстове поле і натиснути кнопку "Перевірити". JavaScript-функція checkValue() перевіряє введене значення на скінченність і виводить результат у параграф з id="output".

автор: NagarD

У цьому прикладі ми використовуємо метод Number.isFinite() для того, щоб перевірити, чи є значення скінченним числом.

let number = 42;

if (Number.isFinite(number)) {
    console.log(number + " є скінченним числом.");
} else {
    console.log(number + " не є скінченним числом.");
}

// Виведе: "42 є скінченним числом."
автор: NagarD

У цьому прикладі ми будемо використовувати Number.isFinite() для фільтрації масиву значень, щоб залишилися лише скінченні числа.

let values = [42, Infinity, -Infinity, "Hello", NaN, 100];

let finiteNumbers = values.filter(value => Number.isFinite(value));

console.log(finiteNumbers);
// Виведе: [42, 100]
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід