Ответ на этот вопрос может быть болезненно очевидным, но я не могу найти его в документах Mozilla и в Google из беглого поиска.
Если у вас есть такой код, как этот
Number.MAX_VALUE + 1; // Infinity, right?
Number.MIN_VALUE - 1; // -Infinity, right?
Тогда я ожидал бы добавление чего-либо к Number.MAX_VALUE, нажимая его на Infinity
. В результате просто Number.MAX_VALUE
плюнул обратно на меня.
Однако, когда вы играли в консоли Chrome JS, я заметил, что он фактически не стал Infinity
, пока я не добавил/вычитал достаточно:
Number.MAX_VALUE + Math.pow(100,1000); // now we hit Infinity
Number.MIN_VALUE - Math.pow(100,1000); // -Infinity at last
Каково объяснение этого "буфера" между Number.MAX_VALUE
и Infinity
?