if语句中的条件将数据类型作为标识符,来实现开关的作用,在实际使用中非常实用。
记住以下开发中常用
数据类型 | true | false |
boolean | true | false |
String | "任何非空字符串" | 空字符串"" |
Number | 任何非零数字值 | 0和NaN |
Object | 任何对象(只要对象存在) | null(对象不存在时) |
Undefined | undefined转为false |
❤️其中对象Object中除了undefined和null之外(计算为false),所有对象包括空对象{ }都计算为true,所有数组包括空数组[ ]都计算为true
字符串String中," "(字符串中一个空格),也会计算为true
以下MDN官网关于Boolean的描述
如果需要,作为第一个参数传递的值将转换为布尔值。如果省略或值0
,-0
,null
,false
,NaN
,undefined
,或空字符串(""
),该对象具有的初始值false
。所有其他值,包括任何对象,空数组([]
)或字符串"false"
,都会创建一个初始值为true
的对象。
注意不要将基本类型中的布尔值 true
和 false
与值为 true
和 false
的 Boolean
对象弄混了。
其值不是undefined
或null
的任何对象(包括其值为false
的布尔对象)在传递给条件语句时都将计算为true
。