According to this table in the ECMAScript standard , string values โโwith a length of 0 should be evaluated as boolean false .
So, are these statements evaluated using true ?
"\t" == false " " == false "\n" == false " " == false
All these lines are longer than 0. For example:

Although I understand that "0" evaluates to false because it can be forced to a numeric 0 , I cannot explain why these lines are false. What's happening?
(Obviously, I can use === for rigorous comparisons, but in this case I need a free comparison in my code, however, I did not expect a non-empty string to be considered false.)
source share