【发布时间】:2018-08-11 10:47:44
【问题描述】:
可能我很困惑,但我无法理解这种愚蠢的情况。
if("true"){
console.log("Above is true");
}
else{
console.log("Above is false");
}
在上述情况下,控制台可以很好地打印Above is true。这完全有道理。但是当我在做的时候:
if("true" == true){
console.log("Above is true");
}
else{
console.log("Above is false");
}
我看到Above is false 正在控制台中打印。
我在这里使用了一个松散的相等运算符,即使在强制之后 true 将转换为 "true" 所以它应该打印 Above is true 但不是。我错过了什么?
【问题讨论】:
-
"true" 是字符串,true 是布尔值,所以它们不相等
-
@JayShankarGupta 但我在这里使用松散的相等运算符。就像
0 == false是真的但0 === false不是。 -
你刚刚提醒我为什么我不使用 javascript :)
-
@Striped 抱歉,我没看懂你的评论。
-
@void 他想说 any 字符串是真实的
标签: javascript