You can do this:
a = a || 0
…which will convert a from any “falsey” value to 0.
The “falsey” values are:
falsenullundefined0""( 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.