Изначальное значение Infinity
равно Number.POSITIVE_INFINITY
. Оно больше, чем любое число, включая само себя.
Математически, это значение ведет себя как бесконечность. Например, что угодно, помноженное на Infinity
дает Infinity
, и что угодно, деленное на Infinity
дает 0.
При проверке на бесконечность будте внимательный Infinity и -Infinity это разные вещи!
почему
возвращает true?
и даже
Ваше число минимум на порядок больше, чем Number.MAX_VALUE, а значит оно интерпретируется как Infinity.
Почему так?
А также так?
Потому что математические выражения ∞-∞ и ∞/∞ для различных вариантов определения ∞ дают различные значения.
Например,
lim x (x→∞) = ∞,
lim x² (x→∞) = ∞ и
lim (x+1) (x→∞) = ∞, но
lim (x+1)/x (x→∞) = ∞/∞ = 1, а
lim (x²)/x (x→∞) = ∞/∞ = ∞,
lim (x+1)-x (x→∞) = ∞-∞ = 1, а
lim (x²-x) (x→∞) = ∞-∞ = ∞.
И наоборот — а*∞ и а+∞ всегда дадут ∞, поэтому они определены.
Почему так получается?
>node -v
v0.12.2
я гуманитарий
Странная статья.
1)"Оно больше, чем любое число, включая само себя." Тогда почему:
- возвращает false?
2)"Например, что угодно, помноженное на Infinity дает Infinity". Не совсем. Как уже упоминалось другими комментаторами,если умножить Infinity на 0 будет NaN:
3)"и что угодно, деленное на Infinity дает 0." Тоже не всегда:
4)Также Infinity,как бы странно это не звучало,не равно бесконечности,а равно примерно 10**309:
Infinity, представленное в JavaScript как Number.POSITIVE_INFINITY, символизирует бесконечность и ведет себя в соответствии с математическими свойствами этого понятия. Оно всегда больше любого конечного числа, включая само себя. Операции с этим значением следуют логике бесконечности: умножение чего-либо на Infinity дает Infinity, а деление на него приводит к нулю. В программировании это значение полезно для обозначения условий, где требуется обработка бесконечно больших значений или предельных случаев.