Is null
evaluated to 0
and undefined
to NaN
on arithmetic expressions?
According to some testing it seems so:
Is null evaluated to 0 and undefined to NaN on arithmetic expressions? Is it safe or correct to assume this?
Yes, it is. An "arithmetic expression" would use the ToNumber operation:
Argument Type | Result
--------------+--------
Undefined | NaN
Null | +0
… |
It is used in the following "arithmetic" expressions:
It is not used by the equality operators, so null == 0
is false (and null !== 0
anyway)!