Boolean类型是与布尔值对应的引用类型。如果要创建Boolean对象,语法如下:
var booleanObject = new Boolean(true);
Boolean类型的实例重写了valueOf()方法,返回基本类型true或false;重写了toString()方法,返回字符串"true"和"false"。
1.基本类型与引用类型
基本类型本质是boolean类型,而引用类型本质是对象,下面用代码来说明二者区别。
<script>
var falseObj = new Boolean(false);
var result = falseObj && true;//这里是针对falseObj这个变量,即是new Boolean(false)整体而言,并非是对象的值,定义布尔表达式的所有对象都会被转换为true
console.log(result);//true
console.log(falseObj instanceof Boolean);//true,返回true的原因是:Boolean对象是Boolean的实例
console.log(falseObj);//此处的值仍然是false
console.log(typeof falseObj);//object var falseVal = false;
result = falseVal && true;//此处直接是false逻辑与true,结果必为false
console.log(result);//false
console.log(falseVal instanceof Boolean);//false,基本类型不是Boolean类型的实例
console.log(typeof falseVal);//boolean
</script>
实际在使用的过程中,很少会去用Boolean对象去处理问题,直接使用基本类型简单、高效。
2.Boolean对象值为false的6种情况
(1)0
(2)NaN
(3)false
(4)""字符串为空
(5)null
(6)undefined