Today I learned… that you have to explicitly declare a number variable as a number before you can increment it with += in JavaScript.
This is probably a boneheaded newbie mistake, but it had me stumped for several minutes. I declared a variable, var total; and then tried to add to it by writing total +=5. And then I scratched my head as my code returned NaN.
1 2 3 4 | var total; total += 5; console.log(total); //prints "NaN" |
This happens because “undefined” and zero are not equivalent in JavaScript!
Even though JavaScript isn’t “strongly typed”, you can’t add numbers to something that isn’t a number yet.
Declaring total by setting it to an actual number, ie: var total = 0, fixed my “NaN” problem.
1 2 3 4 | var total = 0; total += 5; console.log(total); //prints a 5 |