JS метод Number.isSafeInteger()
Загальний опис
Метод Number.isSafeInteger() допомагає переконатися, чи є певне число безпечним цілим числом. "Безпечним" тут означає, що число можна точно представити і використовувати в обчисленнях без втрати точності. У світі JavaScript це особливо важливо, адже мова працює з числами у двійковій системі, і не всі числа можна точно представити.
Для використання цього методу достатньо передати число як аргумент до Number.isSafeInteger(). Метод поверне true, якщо число є безпечним цілим числом, і false в протилежному випадку.
Приклади:
Number.isSafeInteger(3); // true
Number.isSafeInteger(Math.pow(2, 53)); // false, бо це число за межами безпечного діапазону
Number.isSafeInteger(Math.pow(2, 53) - 1); // true, бо це найбільше безпечне ціле число
Number.isSafeInteger(-Math.pow(2, 53)); // false, бо це число за межами безпечного діапазону
Number.isSafeInteger(-Math.pow(2, 53) + 1); // true, бо це найменше безпечне ціле число
Важливо зазначити, що безпечні цілі числа в JavaScript лежать у діапазоні між -9007199254740991 та 9007199254740991 (включно). Ці межі можна отримати, використовуючи константи Number.MIN_SAFE_INTEGER та Number.MAX_SAFE_INTEGER відповідно. Якщо число виходить за ці межі, його використання може призвести до непередбачуваних результатів або втрати точності.
На практиці використання методу Number.isSafeInteger() дозволяє уникнути числових артефактів у великих обчисленнях і забезпечити точність результатів. Перед виконанням складних обчислень або перед збереженням числа в базі даних завжди варто перевіряти, чи є число безпечним цілим числом.
| Нотатка: | Не плутайте |
| Порада: | Цілі числа в межах від |
| Порада: | При виконанні математичних операцій із великими числами завжди перевіряйте результат за допомогою
|
Синтаксис
Number.isSafeInteger(testValue)
Параметри
- *
testValue Значення для перевірки на належність до безпечних цілих чисел.
Return
booleanПовертає булеве значення
true, якщо подане значення є числом, яке є безпечним цілим числом. В іншому випадку повертаєfalse.
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
34 |
32 |
9 |
21 |
12 |
| Переглядач | ||||
|---|---|---|---|---|
37 |
34 |
32 |
9 |
| Переглядач | ||
|---|---|---|
0.12.0 |
1.0 |
Приклади
Цей код створює інтерактивний блок, де користувач може ввести число для перевірки, чи є воно безпечним цілим числом в JavaScript. Після введення числа та натискання кнопки результат перевірки виводиться у зеленому або червоному кольорі в залежності від того, чи є число безпечним цілим числом чи ні.
У цьому прикладі ми використовуємо метод Number.isSafeInteger() для перевірки, чи є число безпечним цілим числом у JavaScript.
const number1 = Math.pow(2, 53) - 1; // Максимальне безпечне ціле число
const number2 = Math.pow(2, 53); // Число, яке є вище за межею безпечних цілих чисел
console.log(Number.isSafeInteger(number1)); // true
console.log(Number.isSafeInteger(number2)); // false
У цьому прикладі ми створюємо функцію, яка виконує арифметичну операцію над двома числами і перевіряє результат за допомогою Number.isSafeInteger().
function safeAddition(a, b) {
const sum = a + b;
// Перевіряємо, чи є результат безпечним цілим числом
if (!Number.isSafeInteger(sum)) {
return "Результат не є безпечним цілим числом!";
}
return sum;
}
const num1 = Math.pow(2, 52);
const num2 = Math.pow(2, 52);
console.log(safeAddition(num1, num2)); // Результат не є безпечним цілим числом!
