可以将布尔值与字符串进行比较

时间:2014-01-29 14:01:51

标签: javascript jquery

我有一个变量isRefreshed,它以下面的方式声明

var isRefreshed ='';

和isRefreshed可以在某些场景中分配一个布尔值,如:

isRefreshed=false;

现在有一个if检查,如下所示

if(isRefreshed != '')
{
   // Some action
}

问题是当一个布尔值分配给isRefreshed时,那么在这种情况下我的条件就像

一样

true != ''

返回true,这是不希望的。所以我的问题是我们可以在jquery中将布尔值与字符串进行比较。

1 个答案:

答案 0 :(得分:5)

您应该使用!==来比较类型和内容。

false != ''  // false - both false and '' are falsy values
false !== '' // true - Boolean isn't equal to string type

进一步阅读:falsy valuescomparison operators

然而,在你的情况下,你可以使用:

if (isRefreshed) { ... }

这等于if (isRefreshed == true),但如上所述,false''都是 falsy 值,并且评估为false。