Boolean、Number、String
JavaScript有三种特殊的引用类型 Boolean、Number 和 String,它们有各自的属性和方法,也各自是数据结构的一种,在小题目中会出现的比较多。
目录
Boolean
数据类型
是布尔值,有两个字面值:true
、false
,区分大小写
true
不等于1,false
不等于0
但是,在与其他数据结构的计算中,true和false会转换成相应的值
1+true //2
1+false //1
Boolean() 转型函数
Boolean()
将其他类型的值转换为布尔值
if
语句判断的时候就是使用的布尔转换
把其他类型转换为Boolean类型 只有五个值转换为false 其余都是true
0
NaN
null
undefined
""
=> false,还有false
本身也是转换成false其他情况 => true
对象object永远都是true (除了null)
Boolean(0); //false
Boolean(NaN); //false
Boolean(null); //false
Boolean(undefined); //false
Boolean(""); //false
new Boolean 对象
Boolean是对应布尔值的引用类型。
创建Boolean对象,要使用Boolean构造函数
let a = new Boolean(true);
console.log(a); //Boolean{true}
let b = new Boolean(10);
console.log(b); //Boolean {true}
let c = new Boolean("abc");
console.log(c); //Boolean {true}
let d = new Boolean(undefined);
console.log(d); //Boolean {false}
可以看到,Boolean实例会重写valueOf()
方法,返回一个原始值true或false
typeof a; //"object"
上面的几个变量,都是对象类型
要注意区分原始布尔值和Boolean对象之间的区别,JavaScript高程中说,强烈建议永远不要使用后者。