JS字符串False转Boolean

大家都知道在JS的世界里, 0、-0、null、""、false、undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的"false"是不是false呢,答案是否定的,if("false") 来判断的话,是等于true的


1.

var hasAuth = 'true';
if(hasAuth){ //此时的hasAuth是true
  
}

2.
var hasAuth = 'false';
if(hasAuth){ //此时的hasAuth还是true
  
}


“false”的布尔值是true,那么怎么把false的字符串变成false的布尔值呢?

w3c解释如下:

var myBoolean=new Boolean();

//下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。
var myBoolean=new Boolean();
var myBoolean=new Boolean(0);
var myBoolean=new Boolean(null);
var myBoolean=new Boolean("");
var myBoolean=new Boolean(false);//不带单引号的是false
var myBoolean=new Boolean(NaN);


//下面的所有的代码行均会创初始值为 true 的 Boolean 对象:
var myBoolean=new Boolean(1);
var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
var myBoolean=new Boolean("false");//带单引号的字符串false最终等于true
var myBoolean=new Boolean("Bill Gates");


最后我以下的代码转换 "false"字符串

var value = "false";
var flag = value ==="false" ? false : true;







在JavaScript中,将字符串表达式换为布尔值有几种方法。其中一种方法是使用条件运算符(三元运算符)来判断字符串是否等于特定的值,并返回相应的布尔值。例如,下面的代码将字符串换为布尔值: ```javascript var strValue = "true"; var boolValue = (strValue === "true") ? true : false; console.log(boolValue); // 输出 true ``` 另一种方法是使用parseInt函数将字符串换为数字,然后使用逻辑非运算符(!)将其换为布尔值。例如: ```javascript var strValue = "1"; var boolValue = !!parseInt(strValue); console.log(boolValue); // 输出 true ``` 还有一种方法是使用自定义函数来执行换。例如,下面的代码定义了一个名为strToBool的函数,该函数接受一个字符串参数并返回相应的布尔值: ```javascript function strToBool(strValue) { return strValue === "true"; } var strValue = "false"; var boolValue = strToBool(strValue); console.log(boolValue); // 输出 false ``` 请注意,这些方法中的每一种都有其适用的场景和限制。根据您的具体需求,选择适合您的情况的方法即可。 #### 引用[.reference_title] - *1* *2* *3* [如何在JavaScript中将字符串换为布尔值?](https://blog.csdn.net/asdfgh0077/article/details/103365856)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值