ek_ny
ek_ny

Reputation: 10243

What is the reason that an empty string evaluates to false in Javascript

Why is it that an empty string evaluates to false in JavaScript. I know Douglas Crockford has spoken quite a bit about truthy and falsy in javascript but this still surprised me:

if("")
    alert("you will never see this");

Anyone know what the basis of this behavior is. Is it implemented in this way according to the ECMAScript specifications? I'm curious.

Upvotes: 1

Views: 841

Answers (1)

Quentin
Quentin

Reputation: 943220

Because it has nothing in it. An empty string is a false value in many languages. This is standard according to the specification.

The result is false if the argument is the empty String (its length is zero); otherwise the result is true

— section 9.2 of Ecma-262

Upvotes: 6

Related Questions