是否存在
的情况x == y //false
x === y //true
在JS中有可能吗? :)
答案 0 :(得分:10)
没有。这是永远不可能的。 ===
检查类型和相等性。 ==
只是检查是否相等。如果某事不是==
,则永远不会是===
。
答案 1 :(得分:8)
这是不可能的。 ==
比较值,而===
比较值和类型。你的案件需要一个不可能的条件。
a === b -> (typeof(a) == typeof(b)) && (value(a) == value(b))
a == b -> (value(a) == value(b))
在==
情况下,您无法进行价值比较,同时要求===
中的完全相同的比较变为假。
答案 2 :(得分:3)
答案 3 :(得分:2)
简而言之,如果===
为真,那么==
将返回true。如果===
返回false,则==
可能会返回false,也可能不会返回false。
示例:
5===5
为真,这意味着5==5
也必须为真。
'5'===5
为false,'5'==5
为真。
'6'===5
为false,'6'==5
也为假。
此行为是因为a===b
检查以确保a
和b
的值和类型相等,而a==b
仅检查以确保其值是平等的。