Spec-Zone.ru › JavaScript

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

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-number.min_safe_integer

Совместимость с браузерами

Настольные Мобильные Серверные
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_INTEGER
  • Number.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API