jQuery JavaScript是否有类似于parseInt用于布尔值的函数?

3

我知道,我知道,听起来有点傻,但是有一个变量一直在传递,我想在其中某个时候它丢失了它作为布尔值的身份,那么在脚本的某个部分,我需要确保这个字符串被读取为布尔值。因此,我想知道是否有像parseInt函数一样用于布尔值的函数,因为当我的整数通过处理后变成字符串时,我有时需要调用一种方法使其能够再次识别为整数。

3个回答

3
String.prototype.parseBoolean = function ()
{
  return ("true" == this.toLowerCase()) ? true : false
}

2
现在一般不建议向本地对象原型添加内容。此外,可以通过摆脱三元语句并只返回比较来简化它。 - mkoryak

2

没有函数,但有以下快捷方式:

var bool = !!something;

或者,您可以像这样创建一个新的布尔值:
var bool = Boolean(something)

它的工作原理是将值强制转换为布尔值。它将使用变量的真值/ 假值

顺便说一下,还有:

var floor = ~~3.1415; //floor = 3

警告:如果有人碰巧遇到这个问题:!!"false" === true。而且 Boolean("false") === true。 - tru7

0
function stringToBoolean(string){
    if (typeof string === "undefined") {
        console.log("stringToBoolean Undefined Error");
        return false;
    }
    if (typeof string === "boolean") return string;
    switch(string.toLowerCase()) {
        case "true": case "yes": case "1": return true;
        case "false": case "no": case "0": case null: return false;
        default: return false;
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接