5

我在一些 javascript 代码中看到人们这样写:

var myVar = "true";

//...

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

为什么人们不使用 TRUE 或 FALSE?据我所知,布尔类型对于浏览器来说是显而易见的。

或者只是一个糟糕的代码......并尽量不要以这种方式编写。

4

3 回答 3

6

这只是糟糕的代码。尽量不要这样写。

这种代码对于可维护性来说太可怕了。==(而不是===) 和astrue字符串。

PS:除此之外,"true" == true // false。对于===争论,这仅仅是因为true == 1 // true和很多其他人看起来像这样的东西。

于 2012-07-10T12:13:37.113 回答
4

你不应该这样做,除非你真的期望一个包含true出于某种原因的字符串:)。但即使在这种情况下,使用严格相等( ===) 也是正确的选择。

在您展示的代码示例中,这简直是一种糟糕的代码编写方式。

于 2012-07-10T12:13:57.527 回答
1

正如你所说,这只是糟糕的代码。

一个“真正的”开发者从不写if (condition == true),而只是if (condition)

也可以写if (true == condition)。这称为 Yoda 样式,旨在防止在您错误地写=而不是==.

于 2012-07-10T12:14:04.460 回答