Dodawanie do Number.MAX_VALUE
Odpowiedź na to pytanie może być boleśnie oczywista, ale nie mogę znaleźć jej w dokumentach Mozilli ani w Google z pobieżnego wyszukiwania.
Jeśli masz taki kod
Number.MAX_VALUE + 1; // Infinity, right?
Number.MIN_VALUE - 1; // -Infinity, right?
Wtedy oczekiwałbym dodaniabyle co do Number.MAX_VALUE przesunie go naInfinity
. Rezultat jest sprawiedliwyNumber.MAX_VALUE
splunął na mnie.
Jednak podczas grania w konsoli Chrome JS zauważyłem, że tak się nie stałoInfinity
dopóki nie dodałem / nie odjąłem wystarczająco:
Number.MAX_VALUE + Math.pow(100,1000); // now we hit Infinity
Number.MIN_VALUE - Math.pow(100,1000); // -Infinity at last
Jakie jest wyjaśnienie tego „bufora” pomiędzyNumber.MAX_VALUE
iInfinity
?