参考文章:https://www.cnblogs.com/canger/p/6374185.html
在javascript中,if语句括号中的表达式返回值可以是任何类型,即:if(a)中的a可以是boolean、number、string、object、function、undefined中的任何类型,这便会涉及到不同类型和boolean类型的转换问题。
如果a不是boolean类型,那么js解释器会自动调用Boolean()函数对a进行类型转换,Boolean()的返回值是一个boolean类型的变量。
string类型
空字符串,即“”或‘’转换为false
任何非空字符串转换为true
number类型
0和NaN转换为false
除0和NaN转换为true(包括Infinity和-Infinity)
object
null转换为false
除null转换为true
[] 空数组转换为true
function
转换为true
undefined
转换为false