JS властивість Global.Infinity
Загальний опис
Infinity - це глобальна властивість в JavaScript, яка представляє позитивне нескінченне значення. Це числова властивість, яка є результатом ділення на нуль або будь-якої іншої математичної операції, коли результат є нескінченність.
Застосування Infinity має кілька причин. У математичних операціях, де результат може перевищити максимальне можливе числове значення у JavaScript, замість отримання помилки, ви отримаєте значення Infinity. Це може бути корисно для визначення або обробки таких ситуацій у ваших програмах. Наприклад, якщо ви робите операції з великими числами, такими як факторіали або експоненціальні функції.
Приклад:
let result = 2 * Math.pow(10, 1000);
console.log(result); // Виведе: Infinity
Це корисно враховувати, коли ви обчислюєте великі числа або коли виконуєте операції, де результат може бути нескінченність.
Основні особливості та прийоми використання Infinity:
Infinityє числовим значенням, тому воно може брати участь в математичних операціях. Але будь-яка операція зInfinityзавжди повертаєInfinity, окрім ділення наInfinity.
console.log(Infinity + 1); // Виведе: Infinity
console.log(Infinity / Infinity); // Виведе: NaN
Infinityможе використовуватися для порівняння значень. Наприклад, якщо ви хочете перевірити, чи є число більше або менше за нескінченність:
let number = 1.79e308;
console.log(number < Infinity); // Виведе: true
Infinityможе бути використаний як значення за замовчуванням для змінних, які потребують найбільшого можливого числового значення:
let largestPossibleValue = Infinity;
Додатково, для досвідчених програмістів важливо відзначити, що є й інша форма нескінченності, а саме -Infinity, яка представляє від'ємне нескінченне значення. Значення -Infinity можна отримати, ділячи від'ємне число на нуль. Зазвичай -Infinity використовується менше, але має такі ж властивості, що й Infinity.
- Порада
-
Іноді ви можете зустріти неявні приведення типів, які призводять до
автор: BondInfinity. Якщо вам потрібно робити розрахунки з великими числами, розгляньте можливість використання спеціалізованих бібліотек для високоточних розрахунків, щоб уникнути таких ситуацій. - Порада
-
При роботі з великими об'ємами даних або складними обчисленнями завжди варто додавати перевірки на наявність значення
Infinity. Це допоможе вам уникнути несподіваних результатів у вашому коді та забезпечити більш надійну роботу вашої програми.
автор: Bondfunction divide(a, b) { if(b === 0) { console.warn("Ділення на 0 неможливе!"); return null; } return a / b; } - Нотатка
-
Варто пам'ятати, що, незважаючи на те що
автор: BondInfinity- це числове значення, його не можна використовувати для подальших арифметичних операцій так само, як звичайні числа. Якщо ви отримаєтеInfinityу результаті своєї операції, це часто означає, що потрібно перевірити логіку вашого коду.
Синтаксис
Infinity
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 4 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Ця функція шукає найбільше значення в масиві. Щоб впевнитися, що жодне число в масиві не пропущено через порівняння, ми ініціалізуємо змінну maxValue як -Infinity. Таким чином, будь-яке реальне число в масиві завжди буде більше за початкове значення maxValue.
// Функція для пошуку найбільшого значення в масиві.
function findMaxValue(arr) {
let maxValue = -Infinity; // Починаємо з найменшого можливого значення.
for (let value of arr) {
if (value > maxValue) {
maxValue = value;
}
}
return maxValue;
}
console.log(findMaxValue([3, 5, 1, 7, 9])); // 9
console.log(findMaxValue([-1, -4, -7, -2])); // -1
У цьому прикладі ми створили функцію для обчислення факторіалу числа. Однак, враховуючи обмеження JavaScript з числами, ми знаємо, що факторіал числа, більшого за 170, буде Infinity. Тому ми додаємо перевірку на початку функції, і якщо число більше 170, повертаємо Infinity.
// Функція для обчислення факторіалу числа. Факторіал числа - це добуток всіх цілих чисел від 1 до цього числа.
function factorial(num) {
if (num > 170) { // Факторіал числа більше 170 в JavaScript буде Infinity, тому обмежуємо діапазон.
return Infinity;
}
let result = 1;
for (let i = 2; i <= num; i++) {
result *= i;
}
return result;
}
console.log(factorial(5)); // 120
console.log(factorial(171)); // Infinity
Коментарі
Коментарів ще немає — будьте першим!