Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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:

  1. Це статична властивість, тому її не потрібно і не можна створювати через конструктор.
  2. Завжди звертайте увагу на межі безпечних чисел, коли працюєте з великими числами, щоб уникнути втрати точності.
  3. Якщо вам потрібно працювати з числами, які виходять за межі безпечного діапазону, розгляньте використання спеціальних бібліотек, які надають підтримку великих чисел.
Нотатка:

Використовуйте Number.MIN_SAFE_INTEGER для перевірки, чи є число безпечним для точного представлення в JavaScript. Це корисно, якщо ви працюєте з дуже великими або дуже малими числами.

function isSafeInteger(value) {
  return value >= Number.MIN_SAFE_INTEGER && value <= Number.MAX_SAFE_INTEGER;
}
Нотатка:

Звертайте увагу на те, де ви використовуєте Number.MIN_SAFE_INTEGER. Якщо ви порівнюєте значення із зовнішніми джерелами (наприклад, даними з бази даних), переконайтеся, що ці джерела також розуміють "безпечні" межі JavaScript.

Порада:

Якщо ви плануєте виконувати математичні операції із значеннями, що наближаються до Number.MIN_SAFE_INTEGER, будьте обережні. При переповненні результати можуть стати непередбачуваними. Наприклад:

let value = Number.MIN_SAFE_INTEGER;
console.log(value - 1);  // Повертає некоректне значення!
Порада:

Незважаючи на назву, Number.MIN_SAFE_INTEGER лише вказує на найменше безпечне ціле число. Якщо вам потрібно визначити, чи є довільне число безпечним цілим числом в JavaScript, використовуйте Number.isSafeInteger().

Синтаксис

Number.MIN_SAFE_INTEGER

Значення

Return

Переглядачі

Переглядач

34

31

9

21

12

Переглядач

37

34

31

9

Переглядач

0.12.0

1.0

Приклади


Коли користувач вводить число в поле для вводу і натискає кнопку "Перевірити", скрипт перевіряє, чи є це число меншим або дорівнює Number.MIN_SAFE_INTEGER та виводить відповідне повідомлення.

У цьому прикладі ми розглянемо, як можна використовувати 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);
}

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

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]