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

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

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

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

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

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

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() із Number.isInteger(). Перший перевіряє діапазон безпечного представлення, тоді як другий лише перевіряє, чи є значення цілим числом, без обмежень на розмір.

Порада:

Цілі числа в межах від -(2^53 - 1) до 2^53 - 1 вважаються "безпечними" в JavaScript, оскільки вони можуть бути точно представлені. Використовуйте Number.isSafeInteger(), щоб перевірити, чи належить ваше число цьому діапазону.

Порада:

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

let result = Math.pow(2, 53) + 1;
if (!Number.isSafeInteger(result)) {
    console.warn('Результат не є безпечним цілим числом!');
}

Синтаксис

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));  // Результат не є безпечним цілим числом!