JS метод Global.isFinite()
Загальний опис
isFinite()
- це глобальна функція в JavaScript, яка призначена для перевірки, чи є задане число скінченним, тобто не являє собою ні Infinity
, ні -Infinity
, ні NaN
(Not-a-Number). Ця функція дуже корисна, коли ви хочете впевнитися, що числове значення, яке ви отримали в результаті розрахунків або з інших джерел, придатне для подальших операцій.
Отже, навіщо потрібна функція isFinite()
? У програмуванні часто виникають ситуації, коли число може стати нескінченністю або невизначеним значенням. Це може статися внаслідок ділення на нуль або в результаті інших математичних операцій. У таких випадках корисно знати, чи є результат скінченним числом.
Цю функцію можна використовувати в будь-якому місці вашого коду, де ви хочете перевірити, чи є конкретне числове значення скінченним. Зокрема, вона корисна при обробці даних від користувача, при розрахунках, які можуть призвести до нескінченності, або при валідації числових результатів перед їх використанням в подальших обчисленнях.
Давайте розглянемо деякі особливості isFinite()
:
- Тип даних: Хоча
isFinite()
призначена для чисел, вона спершу спробує конвертувати передане їй значення в число. Це означає, що якщо ви передаєте рядок, який може бути конвертований в число,isFinite()
спочатку конвертує рядок і потім перевіряє, чи є результат скінченним.
Приклад:
console.log(isFinite("123")); // true, рядок "123" конвертується в число 123
- Взаємодія з 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()
, які виконують інші специфічні перевірки.
Порада: | Новачок може плутати глобальний метод
|
Порада: | Метод |
Порада: | Хоча |
Синтаксис
isFinite(value)
Параметри
- *
value
Значення, яке потрібно перевірити на скінченність.
Return
bool
Повертає
false
, якщо задане значення після конвертації в число єNaN
,Infinity
або-Infinity
; в інших випадках повертаєtrue
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі користувач може ввести значення в текстове поле та натиснути кнопку "Перевірити", щоб дізнатися, чи є введене значення скінченним числом чи ні. Результат відображається під кнопкою у відповідному кольорі для кращого візуального сприйняття.
У цьому прикладі створена функція checkValidNumber
, яка приймає аргумент inputValue
. Використовуючи isFinite()
, ми перевіряємо, чи є введене користувачем значення дійсним числом, та виводимо відповідне повідомлення.
// Функція для перевірки, чи є введене користувачем значення дійсним числом
function checkValidNumber(inputValue) {
if (isFinite(inputValue)) {
console.log("Введене значення є дійсним числом.");
} else {
console.log("Введене значення не є дійсним числом.");
}
}
checkValidNumber("123"); // Введене значення є дійсним числом.
checkValidNumber("abc"); // Введене значення не є дійсним числом.
Функція 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)); // Всі аргументи мають бути числами!