可能重复:
Javascript === vs == : Does it matter which “equal” operator I use?
正如标题所述;什么时候应该在使用JavaScript时使用===
运算符检查,何时不使用。
修改:找到更完整的答案here。感谢Mark Byers指出它。
_L
答案 0 :(得分:13)
是严格类型相等运算符。它不仅检查两个在值中是否相等,而且还在相同的类型中进行检查。
在比较数字或字符串时考虑一种情况:
if (4 === 4) // same value and type
{
// true
}
但
if (4 == "4") // same value and different type but == used
{
// true
}
和
if (4 === "4") // same value but different type
{
// false
}
这适用于对象和数组。
因此,在上述情况下,您必须明智地选择是使用==
还是===
当您确定类型
时,最好使用===
答案 1 :(得分:2)
当您希望抑制隐含的类型转换时。例如:
3 == '3'
是true
,而这不是:
3 === '3'
Douglas Crockford建议始终使用严格的比较。
答案 2 :(得分:1)
您可以使用它来检查变量的包含值和类型是否与比较的变量相同。