Question

Testing the isFinite function I see that NaN is an infinite number (even if it's not a number :-)).

isFinite(NaN) // returns false

What's the logic behind this? Why isn't NaN finite?

Was it helpful?

Solution

As Dave Newton said, NaN is not a number, and then you have to consider that it isn't finite nor infinite. The same occurs to these:

NaN > 0  // false
NaN < 0  // false

You might want to read these articles:

OTHER TIPS

Because it is not a numeric value...and finite/infinite is applicable only to numbers.

The result of any arithmetic operation on NaN is NaN.

The result of any logic operation on NaN is false.

Because an infinite number... is still a number. NaN isn't a number in any possible sense.

It's like an error in Matrix.

Finite means capable of being counted. It has to return true or false for isFinite. I think it makes more sense for NaN to be infinite.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top