JS властивість Number.MIN_SAFE_INTEGER
Загальний опис
Number.MIN_SAFE_INTEGER – це властивість у JavaScript, яка представляє найменше ціле безпечне число, з яким можна працювати, де "безпечне" означає, що воно може бути точно представлене як ціле число в стандартному форматі IEEE-754. В основному, ця властивість корисна при операціях порівняння або обчисленнях, де точність є критичною.
Використання Number.MIN_SAFE_INTEGER досить просте. Воно надає фіксоване значення, яке дорівнює -9007199254740991.
Приклад:
console.log(Number.MIN_SAFE_INTEGER); // виведе: -9007199254740991
При порівнянні або виконанні операцій з великими числами може виникнути необхідність перевірки, чи є результат безпечним для подальшої роботи. Ось як ви можете це робити:
function isSafeNumber(n) {
return n <= Number.MAX_SAFE_INTEGER && n >= Number.MIN_SAFE_INTEGER;
}
console.log(isSafeNumber(-9007199254740992)); // виведе: false
console.log(isSafeNumber(-9007199254740991)); // виведе: true
Ключові особливості Number.MIN_SAFE_INTEGER:
- Це статична властивість, тому її не потрібно і не можна створювати через конструктор.
- Завжди звертайте увагу на межі безпечних чисел, коли працюєте з великими числами, щоб уникнути втрати точності.
- Якщо вам потрібно працювати з числами, які виходять за межі безпечного діапазону, розгляньте використання спеціальних бібліотек, які надають підтримку великих чисел.
- Порада
-
Незважаючи на назву,
автор: BondNumber.MIN_SAFE_INTEGERлише вказує на найменше безпечне ціле число. Якщо вам потрібно визначити, чи є довільне число безпечним цілим числом в JavaScript, використовуйтеNumber.isSafeInteger(). - Порада
-
Якщо ви плануєте виконувати математичні операції із значеннями, що наближаються до
Number.MIN_SAFE_INTEGER, будьте обережні. При переповненні результати можуть стати непередбачуваними. Наприклад:
автор: Bondlet value = Number.MIN_SAFE_INTEGER; console.log(value - 1); // Повертає некоректне значення! - Нотатка
-
Звертайте увагу на те, де ви використовуєте
автор: BondNumber.MIN_SAFE_INTEGER. Якщо ви порівнюєте значення із зовнішніми джерелами (наприклад, даними з бази даних), переконайтеся, що ці джерела також розуміють "безпечні" межі JavaScript. - Нотатка
-
Використовуйте
Number.MIN_SAFE_INTEGERдля перевірки, чи є число безпечним для точного представлення в JavaScript. Це корисно, якщо ви працюєте з дуже великими або дуже малими числами.
автор: Bondfunction isSafeInteger(value) { return value >= Number.MIN_SAFE_INTEGER && value <= Number.MAX_SAFE_INTEGER; }
Синтаксис
Number.MIN_SAFE_INTEGER
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 34 | 31 | 9 | 21 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 37 | 34 | 31 | 9 |
| Переглядач | ||
|---|---|---|
| 0.12.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Коли користувач вводить число в поле для вводу і натискає кнопку "Перевірити", скрипт перевіряє, чи є це число меншим або дорівнює Number.MIN_SAFE_INTEGER та виводить відповідне повідомлення.
У цьому прикладі ми створимо функцію, яка фільтрує масив чисел так, щоб лише числа, що не виходять за межі безпечного діапазону, опинилися у результаті. Це корисно, наприклад, при обробці даних із зовнішніх джерел.
function filterSafeIntegers(numbers) {
return numbers.filter(number =>
number >= Number.MIN_SAFE_INTEGER && number <= Number.MAX_SAFE_INTEGER
);
}
const numbersArray = [1, 2, 3, Number.MIN_SAFE_INTEGER - 1, Number.MAX_SAFE_INTEGER + 1];
const safeNumbers = filterSafeIntegers(numbersArray);
console.log(safeNumbers); // [1, 2, 3]
У цьому прикладі ми розглянемо, як можна використовувати Number.MIN_SAFE_INTEGER для перевірки на переповнення при виконанні операцій віднімання.
const value = Number.MIN_SAFE_INTEGER;
// Виконуємо операцію віднімання
const result = value - 5;
// Перевіряємо, чи результат є безпечним цілим числом
if (result < Number.MIN_SAFE_INTEGER) {
console.log("Операція викликала переповнення!");
} else {
console.log("Результат: " + result);
}
Коментарі
Коментарів ще немає — будьте першим!