JS метод Global.isFinite()


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

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

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

Цю функцію можна використовувати в будь-якому місці вашого коду, де ви хочете перевірити, чи є конкретне числове значення скінченним. Зокрема, вона корисна при обробці даних від користувача, при розрахунках, які можуть призвести до нескінченності, або при валідації числових результатів перед їх використанням в подальших обчисленнях.

Давайте розглянемо деякі особливості isFinite():

  1. Тип даних: Хоча isFinite() призначена для чисел, вона спершу спробує конвертувати передане їй значення в число. Це означає, що якщо ви передаєте рядок, який може бути конвертований в число, isFinite() спочатку конвертує рядок і потім перевіряє, чи є результат скінченним.

Приклад:

console.log(isFinite("123")); // true, рядок "123" конвертується в число 123
  1. Взаємодія з NaN та Infinity: isFinite() повертає false, якщо значення є NaN, Infinity або -Infinity.

Приклад:

console.log(isFinite(Infinity));  // false
console.log(isFinite(-Infinity)); // false
console.log(isFinite(NaN));       // false

Важливо відзначити відмінності isFinite() від методу Number.isFinite(). Останній не робить спроби конвертувати нечислові значення та безпосередньо повертає false для них.

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

автор: Bond

Порада

Метод isFinite() повертає true для значень, які можна перетворити на скінченні числа. Це може призвести до неочікуваної поведінки, якщо вхідні дані не гарантовано є числом. Спробуйте завжди використовувати Number.isFinite(), якщо вам потрібна строга перевірка.

автор: Bond
Порада

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

автор: Bond
Порада

Новачок може плутати глобальний метод isFinite() з числовим методом Number.isFinite(). Але вони відрізняються! Глобальний метод isFinite() сприймає значення як числа, перед тим як здійснити перевірку, тоді як Number.isFinite() не робить автоматичне перетворення.

isFinite('123'); // true
Number.isFinite('123'); // false
автор: Bond

Синтаксис

isFinite(value)

Параметри

value

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

автор: Bond

Повернення

bool

Повертає false, якщо задане значення після конвертації в число є NaN, Infinity або -Infinity; в інших випадках повертає true.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3 12 4
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

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

Функція isWithinRange приймає три аргументи: number, min та max. Вона спочатку перевіряє, чи є всі аргументи дійсними числами за допомогою isFinite(). Якщо хоча б одне зі значень не є числом, функція повертає повідомлення про помилку. Інакше, вона повертає boolean значення, що показує, чи лежить число number в межах вказаного діапазону.

// Функція для визначення, чи є число в межах визначеного діапазону
function isWithinRange(number, min, max) {
    if (!isFinite(number) || !isFinite(min) || !isFinite(max)) {
        return "Всі аргументи мають бути числами!";
    }
    return (number >= min) && (number <= max);
}

console.log(isWithinRange(5, 1, 10)); // true
console.log(isWithinRange(15, 1, 10)); // false
console.log(isWithinRange("a", 1, 10)); // Всі аргументи мають бути числами!
автор: Bond

У цьому прикладі користувач може ввести значення в текстове поле та натиснути кнопку "Перевірити", щоб дізнатися, чи є введене значення скінченним числом чи ні. Результат відображається під кнопкою у відповідному кольорі для кращого візуального сприйняття.

автор: Bond

У цьому прикладі створена функція checkValidNumber, яка приймає аргумент inputValue. Використовуючи isFinite(), ми перевіряємо, чи є введене користувачем значення дійсним числом, та виводимо відповідне повідомлення.

// Функція для перевірки, чи є введене користувачем значення дійсним числом
function checkValidNumber(inputValue) {
    if (isFinite(inputValue)) {
        console.log("Введене значення є дійсним числом.");
    } else {
        console.log("Введене значення не є дійсним числом.");
    }
}

checkValidNumber("123"); // Введене значення є дійсним числом.
checkValidNumber("abc"); // Введене значення не є дійсним числом.
автор: Bond

Коментарі

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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