因此,在javascript中对null和undefined的实现进行大讨论/辩论/讨论之后,我想让某人解释实现背后的原因以及它们在某些情况下的不同之处.我发现一些特别的问题令人不安:
null == undefined 评估为 truenull + 1等于1但undefined + 1相等NaNif(!null)计算结果为true并if(null)计算结果为false,但null == false计算结果为false.我已经阅读了规范并且我知道如何达到结果,我正在寻找规范这个规范的范例和原因.其中一些点,特别是第二点,给出第一点,感觉非常不一致.
undefined === null => false
undefined == null => true
Run Code Online (Sandbox Code Playgroud)
我考虑过原因undefined == null并发现只有一个案例:
if(document.getElementById() == null) ....
Run Code Online (Sandbox Code Playgroud)
有没有其他理由(undefined === null) == false?
还有其他任何使用示例===- 在javascript中操作吗?