I just read a web comic about JavaScript that looked like a joke:
>>> var x = 42;
>>> x+1;
43
>>> var name = 42;
>>> name+1;
"421"
As it turns out, this is not a joke, but the actual behavior of JavaScript. Why do variables with name x
and name name
behave differently here?
Interestingly, Node.js yields other results than browsers: In Firefox and Edge, the result of name+1
is "421"
, but in Node.js, the result is 43
.