我注意到很多人在JavaScript中比较事物时使用三个等号,但我被教导只使用两个。有人可以解释一下为什么会使用三个或两个,以及它们为什么都有效吗?-谢谢:)另一个用户指出这个问题已经被问过了,对不起,朋友们,我将看看那个问题的答案。
所有以下的评估都会返回 true
使用 ==
,JS会进行类型转换。
1 == '1'
1 == 1
1 == true
0 != true
0 == false
使用 ===
,JS不会进行类型转换
1 !== '1'
1 === 1
1 !== true
0 !== false
身份 === 操作符与等号 == 操作符相同,除了不进行任何类型转换,因此必须具有相同的类型才能被视为相等。
== 操作符将在执行任何必要的类型转换后进行比较相等。
=== 操作符不会进行转换,因此如果两个值不是相同类型的,则 === 将简单地返回 false。
对于我来说,通常我总是使用 ===
或 !==
,以免留下任何机会。
三个等号会检查变量的类型,而双等号只会检查匹配。如果你想要检查变量的类型,你需要使用三个等号。否则,你只需要使用双等号。