Is empty string treated as falsy in javascript?

javascript

Solution

Does javascript treat empty string as either a falsy or null value, and if so why?

Yes it does, and because the spec says so (§9.2).

Isn't an empty string still an object

No. An primitive string value is no object, only a `new String("")` would be (and would be truthy)

Problem

I've noticed that if you have a statement as the following: ``` var test = "" || null ``` `test` will evaluate to `null` but if we do something like the following: ``` var test = "test" || null ``` `test` will evaluate to "test", the same holds true for any object in place of the string, so does javascript treat empty string as either a falsy or null value, and if so why? Isn't an empty string still an object, so shouldn't it be handled the same? I've tested this out in FireFox, Chrome, IE7/8/9, and Node.

Original source

Related problems