That would be weird if a string containing a space wasn’t equal to 0 " " == 0, but that’s not the case in JS. If you think that "" and " " being equal to 0 is weird then I agree, but since they are, you should expect "\t" and "\n" to equal 0 too.
The == operator in JS will try to cast the things being compared and do all kinds of ‘smart’ assumptions about what equality means. This is why everyone uses === instead…
yeah but why is a single character string containing a tab equal to zero ???
That would be weird if a string containing a space wasn’t equal to 0
" " == 0
, but that’s not the case in JS. If you think that""
and" "
being equal to 0 is weird then I agree, but since they are, you should expect"\t"
and"\n"
to equal 0 too.The
==
operator in JS will try to cast the things being compared and do all kinds of ‘smart’ assumptions about what equality means. This is why everyone uses===
instead…Unless you enjoy inviting the chaos.