Boolean类型
在 JavaScript 中,布尔值是一种基本的数据类型。Boolean 对象是一个将布尔值打包的布尔对象。Boolean 对象主要用于提供将布尔值转换成字符串的 toString() 方法。
当调用 toString() 方法将布尔值转换成字符串时(通常是由 JavaScript 隐式地调用),JavaScript 会内在地将这个布尔值转换成一个临时的 Boolean 对象,然后调用这个对象的 toString() 方法。
Boolean基本类型
-
Boolean只有两个字面值true和false。这两个值与数字0和1不是一回事。
-
Boolean类型的字面值true和false是区分大小写的。True和False以及其混合大小写形式都不是Boolean值,只是标识符。
-
Boolean()将值转换成Boolean
var a = Boolean("abc"); typeof( a ); // a = true,a为boolean类型
转换规则
数据类型 | 转换为true | 转换为false |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 任何非零数字值 | 0和NaN |
Object | 任何对象 | null |
Undefined | n/a | undefined |
总结:如果省略 value 参数,或者设置为 0、-0、null、""、false、undefined 或 NaN,则该对象设置为 false。否则设置为 true(即使 value 参数是字符串 "false")。
Boolean引用类型
- Boolean类型是与布尔值对应的引用类型。
var booleanObject = new Boolean(false);
- valueOf()返回 Boolean 对象的原始值。(基本类型值true或false)
- toString()方法返回把逻辑值转换为字符串,并返回结果。(字符串"true"或"false")
- toSource()返回该对象的源代码。
注意:建议永远不要使用Boolean对象;
var falseObject = new Boolean(false);
var result = falseObject && true;
alert(result); //true
var falseValue = false;
result = falseValue && true;
alert(result); //false
alert(typeof falseObject); //object
alert(typeof falseValue); //boolean
alert(falseObject instanceof Boolean); //true
alert(falseValue instanceof Boolean); //false