5

我注意到很多人在比较 Javascript 中的事物时使用三个等号,但我被教导只使用两个。谁能阐明为什么有人会使用三个或两个,以及为什么它们都起作用?

-谢谢 :)

另一位用户指出,这个问题已经被问过了,对不起那些家伙,要看看那个问题的答案。

4

4 回答 4

12

以下所有评估将返回 true

使用==JS会进行类型处理。

1 == '1'
1 == 1
1 == true
0 != true
0 == false

使用===JS不会类型杂耍

1 !== '1'
1 === 1
1 !== true
0 !== false
于 2013-05-19T11:07:39.477 回答
4

标识 === 运算符与相等 == 运算符相同,只是没有进行类型转换,因此类型必须相同才能被视为相等。

== 运算符将在进行任何必要的类型转换后比较是否相等。

=== 运算符不会进行转换,因此如果两个值的类型不同,=== 将简单地返回 false。

对我来说,我通常总是使用===or !==,以免留下任何机会。

于 2013-05-19T11:09:54.060 回答
3

这取决于用例。三等号是检查相同性;换句话说,不仅等价,而且类型相同。这是一个很好的参考

于 2013-05-19T11:06:03.433 回答
1

三等号也将检查变量的类型,而双等号将仅检查匹配项。如果你想检查变量的类型,你需要使用三等号。否则,您只需要使用双等号。

于 2013-05-19T11:13:53.393 回答