js 隐式数据转换带来的BUG
js 隐式数据转换带来的BUG
条件语句如'if'语句使用强制`ToBoolean'抽象方法来评估它们的表达式,并且始终遵循以下简单规则:
''
计算成 false其他 true
+0, -0, or NaN 计算成 false
其他 true
Objects 计算成 true
Undefined 计算成 false
Null 计算成 false
Booleans 计算成 the value of the boolean
Numbers
Strings
所以在函数if预计中做数据判断,需要注意空对象或空数组等情况下,需要做进一步判断,不让在空数组或空对象情况下if语句也是判断为true。