类型转换规则
原始转数字
true:1
false:0
null:0
undefined:NaN
string:{
空字符串(含空白字符):0
先去掉引号,不是数字就是Nan
}
所有类型转bool
null:false
undefined:false
number:{
0:false
Nan:false
其他:true
}
string:{
空字符串:false
其他:true
}
对象:true
原始类型转字符串
null:"null"
undefined:"undefined"
number:"数字"
bool:{
true:"true"
false:"false"
}
对象转原始
先会调用valueOf() 如果得到的还是对象 那么会重新调用toString() 如果得到的还是对象--报错
Strict equality (===)
在js中[] !=[]因为存放的地址不同,但如果作比较 严格意义上是相等的:用Strict equality
if(error) throw error //抛出错误,立刻中断