flex关于字符串转Boolean .

最近做一项目,输入一个boolean类型的参数,结果一致无法获取正确值,后在网上查找才发现原因如下,转帖保存一个;

01. "false" as Boolean //flase   
02."true" as Boolean //false   
03.Boolean("flase") //true   
04.Boolean("true")//true   
05.
Boolean(Number("0"));//false   
06.
Boolean(Number("1"));//true  
 

  

"false" as Boolean 是flase


是一个字符串,而不是Boolean 类型,所以是false


Boolean("flase") 是true

判断一个字符串是否为空,不看里面的内容


很明显,这不是一个空的字符串

将 expression 参数转换为布尔值并返回该值。

返回值取决于参数的数据类型和值,如下表所述:

输入值示例返回值
0 Boolean(0) false
NaN Boolean(NaN) false
数字(非 0NaN Boolean(4) true
空字符串 Boolean("") false
非空字符串 Boolean("6") true
null Boolean(null) false
undefined Boolean(undefined) false
Object 类的实例 Boolean(new Object()) true
无参数 Boolean() false

要直观,还是只有

if(str == "true")了

原文地址:https://www.cnblogs.com/coolsundy/p/4286960.html