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