如何在Javascript中比较字符串和布尔值?

14 javascript string comparison boolean-logic boolean

"false"从服务器获得了Json .我回答,bool但它是Json所以它在浏览器类型String而不是bool.

因此,如果我(!data)每次想要检查时都会运行,"false" == false那么它们就无法运行.

所以,我怎么能解析boolStringJavaScript中呢?

"true" == true"false" == false.然后代码(!data)可以检查它是什么[ truefalse]

ale*_*lex 14

我只是明确检查字符串"true".

let data = value === "true";
Run Code Online (Sandbox Code Playgroud)

否则你可以使用JSON.parse()它将它转换为原生的JavaScript值,但如果你知道它只是字符串"true"或者"false"你会收到它,那么它会产生大量的开销.


Yuk*_*élé 10

"如果其中一个操作数是布尔值,则布尔操作数如果为真,则转换为1,如果为假,则转换为+0." (从MDN 比较运算符)

例子:

true == "true"; //false
true == "1"; //true
false == "false"; //false
false == ""; //true
false == "0"; //true
Run Code Online (Sandbox Code Playgroud)


小智 9

var data = true;
data === "true" //false
String(data) === "true" //true
Run Code Online (Sandbox Code Playgroud)

这很好用.