Карточка Junior Типы и приведение обновлено
Number.MAX_SAFE_INTEGER
Вопрос
Что такое Number.MAX_SAFE_INTEGER и почему он такой?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Это 2^53 - 1 = 9007199254740991, наибольшее целое, до которого все целые представимы в number точно. number это 64-битное число с плавающей точкой с 52 битами мантиссы, поэтому дальше соседние целые склеиваются. Для больших целых (id из базы, суммы в копейках крупного масштаба) используют bigint или строки.
Ответ
Это 2^53 - 1 = 9007199254740991, наибольшее целое, до которого все целые представимы в number точно. number это 64-битное число с плавающей точкой с 52 битами мантиссы, поэтому дальше соседние целые склеиваются. Для больших целых (id из базы, суммы в копейках крупного масштаба) используют bigint или строки.
Разбор
Проверить, что число безопасно: Number.isSafeInteger(x).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.