关于javascript: != null and !== null? 有什么区别?

What is the difference between != null and !== null?

本问题已经有最佳答案,请猛点这里访问。

很抱歉,我过去肯定有人问过,但很难找到这样的问题。"="和"!="不完全适合搜索。如果有人知道一个重复的问题,你可以给我指出来。

myVar != nullmyVar !== null有什么区别?我知道!=not equal!==not equal value or not equal type,但与空相比,是否有一种情况会返回不同的结果?一个比另一个好用吗?


具体问题的答案是,是否有一个案例中,涉及!=!==比较的null得到不同的答案是肯定的:

1
2
undefined != null  // false
undefined !== null // true

==!=的规则明确规定nullundefined是相同的。

就我个人而言,也就是说,在我的代码中,这是在检查null时使用EDOCX1(或==)的原因,在这种情况下,undefined应该以同样的方式处理(这是非常常见的情况)。