我在一些 javascript 代码中看到人们这样写:
var myVar = "true";
//...
if(myVar == "true") {
//...
}else{
//...
}
为什么人们不使用 TRUE 或 FALSE?据我所知,布尔类型对于浏览器来说是显而易见的。
或者只是一个糟糕的代码......并尽量不要以这种方式编写。
我在一些 javascript 代码中看到人们这样写:
var myVar = "true";
//...
if(myVar == "true") {
//...
}else{
//...
}
为什么人们不使用 TRUE 或 FALSE?据我所知,布尔类型对于浏览器来说是显而易见的。
或者只是一个糟糕的代码......并尽量不要以这种方式编写。
这只是糟糕的代码。尽量不要这样写。
这种代码对于可维护性来说太可怕了。==
(而不是===
) 和astrue
字符串。
PS:除此之外,"true" == true // false
。对于===
争论,这仅仅是因为true == 1 // true
和很多其他人看起来像这样的东西。
你不应该这样做,除非你真的期望一个包含true
出于某种原因的字符串:)。但即使在这种情况下,使用严格相等( ===
) 也是正确的选择。
在您展示的代码示例中,这简直是一种糟糕的代码编写方式。
正如你所说,这只是糟糕的代码。
一个“真正的”开发者从不写if (condition == true)
,而只是if (condition)
也可以写if (true == condition)
。这称为 Yoda 样式,旨在防止在您错误地写=
而不是==
.