1. 使用场景
if分支语句 / 短路语句
while循环语句
for里的第二个语句
2. 6个假值 (都属于 原始类型数据的一部分内容,非原始类型即对象都是真值,如:对象、数组、正则、函数 、'0'、'null'、'false'、{}、[])
false
null
undefined
0 (包括+0、-0)
'' (空字符串)
NaN
3. 以上假值之间 == 判断并非一定相等 (故推荐 === 来判断类型+值,即禁止类型转换)
4. 按数据类型划分
Undefined undefined - false
Null null - false
Boolean false \ 0===1 - 根据表达式最终结果 true\false
Number ... - 除了 0、+0、-0、NaN为 false,其他为true
String ... - 除了 ‘’即空字符串为false ,其他为 true
Object ... - true
5. 扩展 : 隐式转换
+
'1'+2 "12" 运算
‘1’+‘2’ ‘12’ 字符串连接
-
2-'3' -1 运算
-'3' -3 一元
alert 对象转string (调用 toString() 方法)
[1].toString() "1"
alert([1]); '1'