布尔类型转换

91 阅读1分钟

js中的布尔类型转换

在js中经常会遇到其他类型的值转换为布尔类型的情况,总的来说js中的值可以分为以下两类 :
 	(1) 可以被强制类型转换为 false 的值 
	(2) 其他(被强制类型转换为 true 的值)
	
(1) 可以被强制类型转换为 false 的值
		1undefined 
		2null 
		3false 
		4) +0、-0 
		5NaN 
		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) 逻辑运算符 ||(逻辑或)和 &&(逻辑与)左边的操作数(作为条件判断表达式)。