diff --git a/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.md b/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.md
index ef06b5976d08cc..3452bdee3fc00a 100644
--- a/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.md
+++ b/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.md
@@ -1,35 +1,44 @@
---
title: Number.MAX_SAFE_INTEGER
slug: Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
+l10n:
+ sourceCommit: fcd80ee4c8477b6f73553bfada841781cf74cf46
---
{{JSRef}}
-## Сводка
+Статическое свойство **`Number.MAX_SAFE_INTEGER`** представляет максимальное безопасное целочисленное значение в JavaScript (253 – 1).
-Константа **`Number.MAX_SAFE_INTEGER`** представляет максимальное безопасное целочисленное значение в JavaScript (`253 - 1`).
+Для бо́льших целых чисел используется {{jsxref("BigInt")}}.
+
+{{EmbedInteractiveExample("pages/js/number-maxsafeinteger.html")}}
+
+## Значение
+
+`9007199254740991` (9,007,199,254,740,991 или приблизительно 9 квадриллионов).
{{js_property_attributes(0, 0, 0)}}
## Описание
-Константа `MAX_SAFE_INTEGER` имеет значение `9007199254740991`. Смысл этого числа в том, что в JavaScript используется [формат чисел с плавающей запятой двойной точности](https://ru.wikipedia.org/wiki/Число_двойной_точности), как определено в стандарте [IEEE 754](https://ru.wikipedia.org/wiki/IEEE_754), а он может безопасно представлять числа только в диапазоне от `-(253 - 1)` до `253 - 1`.
+[Формат чисел с плавающей запятой двойной точности](https://ru.wikipedia.org/wiki/Число_двойной_точности) имеет только 52 бита для представления [мантиссы](/ru/docs/Web/JavaScript/Reference/Global_Objects/Number#number_encoding), поэтому он может безопасно представлять целые числа в диапазоне от -(253 – 1) до 253 – 1. «Безопасность» в этом контексте означает способность точно представлять целые числа и правильно их сравнивать. Например, `Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2` будет иметь истинное значение, что математически неверно. Больше информации в {{jsxref("Number.isSafeInteger()")}}.
-Поскольку `MAX_SAFE_INTEGER` является статическим свойством объекта {{jsxref("Global_Objects/Number", "Number")}}, вы всегда должны использовать его как `Number.MAX_SAFE_INTEGER`, а не как свойство созданного вами объекта {{jsxref("Global_Objects/Number", "Number")}}.
+Поскольку `MAX_SAFE_INTEGER` является статическим свойством объекта {{jsxref("Number")}}, вы всегда должны использовать его как `Number.MAX_SAFE_INTEGER`, а не как свойство числового значения.
## Примеры
+### Значение MAX_SAFE_INTEGER
+
```js
Number.MAX_SAFE_INTEGER; // 9007199254740991
-Math.pow(2, 53) - 1; // 9007199254740991
```
-## Полифил
+### Связь между MAX_SAFE_INTEGER и EPSILON
+
+{{jsxref("Number.EPSILON")}} — это 2-52, а `MAX_SAFE_INTEGER` — это (253 – 1), оба значения являются производными от размера мантиссы, который составляет 53 бита (при этом старший бит всегда равен 1). Их умножение даст значение, очень близкое (но не равное) 2.
```js
-if (!Number.MAX_SAFE_INTEGER) {
- Number.MAX_SAFE_INTEGER = 9007199254740991; // Math.pow(2, 53) - 1;
-}
+Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998
```
## Спецификации
@@ -42,5 +51,7 @@ if (!Number.MAX_SAFE_INTEGER) {
## Смотрите также
+- [Полифил `Number.MAX_SAFE_INTEGER` в `core-js`](https://github.com/zloirock/core-js#ecmascript-number)
- {{jsxref("Number.MIN_SAFE_INTEGER")}}
- {{jsxref("Number.isSafeInteger()")}}
+- {{jsxref("BigInt")}}