--- title: Number.isSafeInteger() slug: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger tags: - ECMAScript 2015 - JavaScript - Number - метод translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger original_slug: Web/JavaScript/Reference/Global_Objects/Число/isSafeInteger ---
{{JSRef}}

Метод Number.isSafeInteger() визначає, чи є надане значення безпечним цілим числом.

{{EmbedInteractiveExample("pages/js/number-issafeinteger.html")}}

Безпечним цілим числом вважається ціле число, яке

Наприклад, 253 - 1 є безпечним цілим числом: воно може бути точно відображене, і жодне інше ціле число не округлюється до нього в будь-якому режимі округлення IEEE-754. Для контрасту, 253 не є безпечним цілим числом: воно може бути точно відображене у IEEE-754, але ціле число 253 + 1 не може бути безпосередньо відображене у IEEE-754, а, натомість, округлюється до 253 під час округлення до найближчого цілого та округлення до меншого за модулем. Безпечні цілі числа включають усі цілі числа від -(253 - 1) включно до 253 - 1 включно (± 9007199254740991 або ± 9,007,199,254,740,991).  

Робота зі значеннями, більшими чи меншими за ~9 квадрільйонів, з повною точністю вимагає використання бібліотеки для арифметики довільної точності. Дивіться Що необхідно знати кожному програмісту про арифметику чисел з рухомою крапкою, щоб дізнатись більше щодо відображення чисел з рухомою крапкою.

Для більших чисел розгляньте використання типу {{jsxref("BigInt")}}.

Синтаксис

Number.isSafeInteger(testValue)

Параметри

testValue
Значення, що перевірятиметься на відповідність безпечному цілому числу.

Значення, що повертається

Значення {{jsxref("Boolean")}}, яке вказує, чи є надане значення безпечним цілим числом.

Поліфіл

Number.isSafeInteger = Number.isSafeInteger || function (value) {
   return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
};

Приклади

Використання isSafeInteger

Number.isSafeInteger(3);                    // true
Number.isSafeInteger(Math.pow(2, 53));      // false
Number.isSafeInteger(Math.pow(2, 53) - 1);  // true
Number.isSafeInteger(NaN);                  // false
Number.isSafeInteger(Infinity);             // false
Number.isSafeInteger('3');                  // false
Number.isSafeInteger(3.1);                  // false
Number.isSafeInteger(3.0);                  // true

Специфікації

Специфікація
{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}}

Сумісність з веб-переглядачами

{{Compat("javascript.builtins.Number.isSafeInteger")}}

Див. також