There have been times where I had to calculate the limit for a number of items. Sometimes the limit was 0, 1, 15, or whatever. But recently, I had to remove the limit altogether but still had to return a number.

My first thought was to return a magic number too high to ever be reached, like `99999`

. But a colleague pointed out JavaScript has a global `Infinity`

value for situations like this.

`Infinity`

is seen as a number, and as you'd expect, no number can be bigger than it. If that was possible, the universe would presumably explode.

`> typeof Infinity`

'number'

> Infinity > 999999999999

true

> Infinity < 999999999999

false

Using `Infinity`

or `999999999999`

likely have the same effect, since there's no realistic chance of most data lists in any application getting that long outside of hacks or data errors. To me, the benefit is more semantic. A magic number could confuse folks down the line if there was a now-lost reason for using that number. `Infinity`

makes it clear it's a fail-safe, one-outcome operation. Even in the case of hacked or errored data.

This holds true, no matter what any second-graders may try to tell you. Adding a few numbers to `Infinity`

doesn't make it any bigger.

`> Infinity + 2`

Infinity

> Infinity + 2 > Infinity

false

> Infinity + 2 === Infinity

true