Number.MIN_SAFE_INTEGER
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Статическое свойство данных Number.MIN_SAFE_INTEGER представляет собой минимальное безопасное целое число в JavaScript, или -(253 - 1).
Для представления целых чисел, меньших этого, рассмотрите использование BigInt.
Попробовать
const x = Number.MIN_SAFE_INTEGER - 1; const y = Number.MIN_SAFE_INTEGER - 2; console.log(Number.MIN_SAFE_INTEGER); // Expected output: -9007199254740991 console.log(x); // Expected output: -9007199254740992 console.log(x === y); // Expected output: true
Значение
-9007199254740991 (-9,007,199,254,740,991, или около -9 квадриллионов).
Атрибуты свойства Number.MIN_SAFE_INTEGER
| |
|---|---|
| Записываемое | нет |
| Перечислимое | нет |
| Конфигурируемое | нет |
Описание
Формат чисел с плавающей запятой двойной точности имеет только 52 бита для представления мантиссы, поэтому он может безопасно представлять только целые числа в диапазоне от -(253 – 1) до 253 – 1. Безопасность в данном контексте относится к возможности точного представления целых чисел и их корректного сравнения. Например, Number.MIN_SAFE_INTEGER - 1 === Number.MIN_SAFE_INTEGER - 2 будет вычислено как true, что математически неверно. См. Number.isSafeInteger() для получения дополнительной информации.
Как упоминалось в Number.EPSILON, точность чисел зависит от их величины. Number.MIN_SAFE_INTEGER представляет наименьшее значение, при котором операции на уровне целых чисел могут выполняться точно, но вы всё равно можете выполнять осмысленную арифметику с числами, более отрицательными, чем это, просто без точности на уровне целых чисел. Самое большое представимое число в JavaScript — это фактически Number.MAX_VALUE, которое составляет примерно 1.7976931348623157 × 10308.
Поскольку MIN_SAFE_INTEGER является статическим свойством Number, вы всегда используете его как Number.MIN_SAFE_INTEGER, а не как свойство числового значения.
Примеры
Использование MIN_SAFE_INTEGER
Number.MIN_SAFE_INTEGER; // -9007199254740991 -(2 ** 53 - 1); // -9007199254740991
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
MIN_SAFE_INTEGER |
34 |
12 |
31 |
21 |
9 |
34 |
31 |
21 |
9 |
2.0 |
37 |
9 |
1.0.0 |
1.0 |
0.12.0 |
Смотрите также
- Полифил
Number.MIN_SAFE_INTEGERвcore-js - Полифил es-shims для
Number.MIN_SAFE_INTEGER Number.MAX_SAFE_INTEGERNumber.isSafeInteger()BigInt
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER