Radek
Radek

Reputation: 679

Javascript TRUE and "true" why someone uses string instead of boolean?

I see in some javascript codes that people write something like this:

var myVar = "true";

//...

if(myVar == "true") {
     //...
}else{
     //...
}

Why people don't use TRUE or FALSE? As far as I know boolean type is obvious for browsers.

Or is just a poor code ... and try to never write in this way.

Upvotes: 5

Views: 9259

Answers (3)

Florian Margaine
Florian Margaine

Reputation: 60747

It's just poor code. Try to never write in this way.

This kind of code is just horrible for maintainability. Both the == (instead of ===) and the true as string.

PS: besides, "true" == true // false. For the === argument, it's simply because true == 1 // true, and a lot of others look alike stuff like this.

Upvotes: 7

Cyrille
Cyrille

Reputation: 25144

It's just poor code, as you say.

A "real" developer never writes if (condition == true), but only if (condition)

Could also be written if (true == condition). This is called Yoda style and is designed to prevent unwanted assignment of variables if you mistakenly write = instead of ==.

Upvotes: 1

kapa
kapa

Reputation: 78681

You should not do this, unless you really expect a string that contains true for some reason :). But even in that case, using strict equality (===) would be the right choice.

In the code example you are showing, this is simply a terrible way of writing code.

Upvotes: 4

Related Questions