Does anybody really know why JS's type system was designed the way it was? It seems so out of whack with what people want out of a language, dynamically typed or otherwise.
In 'object' terms, an empty string is still a string! It's something.
I guess if you think about it from a memory perspective, it's 'nothing'.
But since JS is not actually like C, I really wish "" were true.