JavaScript 中的布尔对象对于“false”参数返回 true

guy*_*ler 5 javascript jquery

我有一个小问题。

我的 ajax 调用会返回一个字符串。

有时该字符串是“假”,我想始终将该字符串值转换为我尝试过的布尔值: new Boolean(thatValue)

但即使“false”作为参数它也会返回 true

有办法解决这个问题吗?除了我编写自己的自定义函数,如果“flase”将返回 false ?..

谢谢

Nic*_*ver 5

您已经描述过执行此操作的最佳方法:

if(value === 'true') {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

或者:

if(value !== 'false') {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

你在这里受到 JavaScript 弱类型的限制,实际上对你不利,任何非空字符串都会转换为true布尔值,即使该字符串是"false".

要获取它并将其存储以供其他地方使用,可以使用以下方法:

var myBool = value !== "false";
Run Code Online (Sandbox Code Playgroud)