Boolean类型是ECMAScript中使用得最多的一种类型,该类型只有两个字面值:true和false。
Boolean类型的字面值true和false是区分大小写的。也就是说,True和False(以及其他的混合大小写形式)都不是Boolean值,只是标识符(identifier)。
typeof true // "boolean" typeof false // "boolean" typeof True // "undefined" typeof False // "undefined"
?
数据类型 | 转换为true的值 | 转换为false的值 |
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 任何非零数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | N/A(not applicable,表示不适用) | undefined |
上面转换规则对理解流控制语句(如if语句)自动执行相应的Boolean转换非常重要。
var message = "Hello World!"; if (message) { alert("Value is true"); }
?
错误地使用一个对象而不是一个Boolean值,就有可能彻底改变应用程序的流程。
var message = {}; Boolean(message);//true,这里是true,可能在编程过程中造成bug if (message) { alert("Value is true"); }
?
原文:http://mirroravatar.iteye.com/blog/2186953