关于---Boolean学习总结
1-数据类型---Boolean类型
2-引用类型---基本包装类型--Boolean类型
3-类型转换---其他数据类型转换为Boolean类型
1-基本数据类型-数据类型---Boolean类型
1)Boolean类型两个字面值:ture/false;(注意:字面值大小写是有区别的,大写仅仅是一种标识符)
2)在ECMAScript中,0/1和true/false只存在宽松等于(即:==)关系(隐式类型转换实)。
2-引用类型---基本包装类型--Boolean类型
1)Boolean类型 和 布尔值对应的引用类型 的区别:
1>使用构造方法:
var booleanObject = new Boolean(false);
new+Boolean构造函数(参数)---重写了 valueof()和toStirng()
2>通过构造函数构造的Boolean 实例对象,会被 强制转换 为true,而不是构造时创建的值;
3>typeof检测:基本值---boolean,引用类型---object
4>instanceof测试:基本值---true,引用类型---false;
要点:Boolean对象对ECMAScript用处不大,建议永远不要使用Boolean对象。
3-类型转换---其他数据类型转换为Boolean类型
1)假值
1>JS中的值强制转换---boolean类型的值
2>JS中的一小撮假值:undefined、null、false、+0、-0、NaN、" " (空字符串),假值被强制转换为false
2)假值对象
1>假值对象:能被 强制转换为false的 对象---与普通对象没有差别(有属性等等)称为。
2>字面理解:包装了假值的封装对象,
3>本质:假值对象并不属于JS语言范畴,如DOM元素(如:document.XXX)
3)真值
1>除去那上面的一小撮值假值,理论上都是真值(考虑:假值对象)
总结:
ES中数据类型的值,如果按boolean类型值分类时,强制转换(隐式&显式)起到关键作用;假值,假值对象为参照点--作为强制装换得规则。