Is there a way to convert NaN values to 0 without an if statement:
if (isNaN(a)) a = 0;
It is very annoying to check my variables every time.
This question is related to
You can do this:
a = a || 0
...which will convert a from any "falsey" value to
The "falsey" values are:
""( empty string )
NaN( Not a Number )
Or this if you prefer:
a = a ? a : 0;
...which will have the same effect as above.
If the intent was to test for more than just
NaN, then you can do the same, but do a toNumber conversion first.
a = +a || 0
This uses the unary + operator to try to convert
a to a number. This has the added benefit of converting things like numeric strings
'123' to a number.
The only unexpected thing may be if someone passes an Array that can successfully be converted to a number:
+['123'] // 123
Here we have an Array that has a single member that is a numeric string. It will be successfully converted to a number.