null == false; // false
undefined == false; // false
undefined == null; // true
为什么JS中undefined == false 和null == false 返回的是false,而undefined == null 返回的是true,求解释?
迷茫2017-04-10 14:51:27
这时候必须要祭出 @justjavac 大大的神器了!http://segmentfault.com/blog/justjavac/1190000000650129
阿神2017-04-10 14:51:27
楼上的答案确实很全面,题主能这么问说明收到C语言的影响了吧?C语言确实是NULL
的value
就是0
,但在JS中最好区分开来,我们不要去考虑null
应该是什么值,因为它本身就是值,而false
和true
却与0
和1
对应,至于undefined == null
这可能是一种硬性规定吧。
伊谢尔伦2017-04-10 14:51:27
null 和 undefined 是相等的。
但是要比较相等性之前,不能将 null 和 undefined 转换成其他任何值。
--《JavaScript高级程序设计中文版3e》52页