js中的布尔类型转换
在js中经常会遇到其他类型的值转换为布尔类型的情况,总的来说js中的值可以分为以下两类 :
(1) 可以被强制类型转换为 false 的值
(2) 其他(被强制类型转换为 true 的值)
(1) 可以被强制类型转换为 false 的值
1) undefined
2) null
3) false
4) +0、-0
5) NaN
6) ""
(2) 其他(被强制类型转换为 true 的值)
除了上述可以被转换为false的值其余都会被转换为true,如:
[],
{},
function(){};
new Boolean( false );
new Number( 0 );
new String( "" );
"false",
"0" ,
"''" 等等
强制转换为布尔值的方法:
1、使用Boolean(..) 方法进行转换,如:
var num = 0;
Boolean(num) // false
2、使用 !!符号进行转换,如:
var num = [];
!![] // true
3、条件语句中自动进行的强制类型转换,如下:
(1)if (..)语句中的条件判断表达式。
(2)for ( .. ; .. ; .. )语句中的条件判断表达式(第二个)。
(3) while (..) 和 do..while(..) 循环中的条件判断表达式。
(4)? :中的条件判断表达式。
(5) 逻辑运算符 ||(逻辑或)和 &&(逻辑与)左边的操作数(作为条件判断表达式)。
网友评论