可以===在==时不持有?

时间:2015-05-22 19:56:08

标签: javascript node.js

是否存在

的情况
x == y //false
x === y //true

在JS中有可能吗? :)

4 个答案:

答案 0 :(得分:10)

没有。这是永远不可能的。 ===检查类型和相等性。 ==只是检查是否相等。如果某事不是==,则永远不会是===

答案 1 :(得分:8)

这是不可能的。 ==比较值,而===比较值和类型。你的案件需要一个不可能的条件。

a === b -> (typeof(a) == typeof(b)) && (value(a) == value(b))
a == b ->  (value(a) == value(b))

==情况下,您无法进行价值比较,同时要求===中的完全相同的比较变为假。

答案 2 :(得分:3)

== - 如果操作数相等则返回true。

=== - 如果操作数相等且类型相同,则返回true。

所以,我说不可能。

答案 3 :(得分:2)

简而言之,如果===为真,那么==将返回true。如果===返回false,则==可能会返回false,也可能不会返回false。

示例:

5===5为真,这意味着5==5也必须为真。

'5'===5为false,'5'==5为真。

'6'===5为false,'6'==5也为假。

此行为是因为a===b检查以确保ab的值和类型相等,而a==b仅检查以确保其值是平等的。