很抱歉我过去曾经问过这个问题,但很难找到这样的问题。 "!="和"!=="不完全搜索友好。如果有人知道重复的问题你可以指出我。
执行myVar != null
和myVar !== null
之间有什么区别?
我知道!=
是not equal
而!==
是not equal value or not equal type
,但是当与null比较时,是否会出现返回不同结果的情况?是否比另一个更好用?
答案 0 :(得分:17)
有关!=
和!==
与null
的{{1}}比较得出不同答案的具体问题的答案是是 :
undefined != null // false
undefined !== null // true
==
和!=
的规则明确包含一条规定null
和undefined
相同的条款。
就个人而言 - 也就是说,在我的代码中 - 在!=
应该是==
的情况下检查null
时,使用undefined
(或;with cte as (
select number, row_number() over(order by date desc) as rn from thistable )
select number from cte where rn=1
}这一事实是一个原因以同样的方式对待(这是一种非常常见的情况)。