js条件判断,看似简单,却暗藏玄机。
==与===
===
比==
多的一个就是数据类型的判断,很重要,建议用===
.
true/false
在js中哪些是true,哪些是false呢?
object(arr,class等)永远是
true`undefiend
==>false
null
==>false
- Boolean条件
- 数字:
+0,-0,0,NaN
为false
,其余为true - 字符串:
''
为false
,其余有长度的为true
对比分析
为什么不建议用==
判断,下面见证:
1 | const cons = [{},undefined,null,-0,0,NaN,''] |
结果:(''
其实是看不到的哈)
undefined==null
null==undefined
0==''
-0==''