Number.MAX_VALUE представляет максимальное числовое значение, представляемое в JavaScript.
Поскольку, похоже, никто не сказал об этом, в движке v8 существует различие в поведении для числа 31 bits
и числа выше этого.
Если у вас есть 32 bits
, вы можете использовать первый бит, чтобы сообщить движку javascript, к какому типу относятся эти данные, а оставшиеся биты содержат фактические данные. Это то, что V8 делает в качестве небольшой оптимизации для 31 bis
numbers
(или раньше, мои источники довольно устарели). У вас есть последний 31 bits
, являющийся числовым значением, а затем первый бит, сообщающий двигателю, является ли он числом или ссылкой на объект.
Однако, если вы используете число выше 31 bits
, тогда данные не уместятся, число будет помещено в двойные 64-битные числа, и оптимизации не будет.
Нижняя строка в видео ниже:
предпочитают числовые значения, которые могут быть представлены как 31бит со знаком
целые числа.