This is not funny, dumb guy. Learn how to read, or I need to use pictures? Well, I try again: I said the behavior of the "+" operator in Javascript is non-deterministic because you have no way to guarantee the type of the variables involved (string, integer, double, etc). The parser sometimes assumes the type correctly but sometimes not, and that is the problem when you use the operator, it needs to know the type of the variables involved in order to decide whether it will be a sum or a concatenation. And the best part is that what you thought set as a string can be transformed into integer and vice versa depending on the interpreter operations that you may have done previously or user inputs, so that depending on the user input your variable may turn in some type different from the expected and thereby generates an unexpected result when using the "+" operator (and therefore the hack to ensure that what should be a string remains a string so that the operation using the "+" return the expected result for a string).
In short, my problem with this is not "nonsense". Is simply the result of having a "+" operator for both concatenation and sum in a language without strong-typed variables. As an example Java does not have this problem because a string variable would always be a string, and so the operation with the "+" becomes deterministic. The problem is two-fold and you blindly read only half of it, super-genius... ;-)