最近做一项目,输入一个boolean类型的参数,结果一致无法获取正确值,后在网上查找才发现原因如下,转帖保存一个;
. "false" as Boolean //flase
."true" as Boolean //false
.Boolean("flase") //true
.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 |
数字(非 0 或 NaN ) |
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")了