如标题所述;什么时候应该===
在使用 JavaScript 时使用运算符检查,什么时候不应该。
编辑:在这里找到更完整的答案。感谢 Mark Byers 指出。
_L
它是严格的类型相等运算符。它不仅检查两个值是否相等而且类型是否相同。
考虑比较数字或字符串时的情况:
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
}
这适用于对象和数组。
因此,在上述情况下,您必须做出明智的选择是使用==
还是===
===
当您也确定类型时使用它是个好主意
当您希望禁止隐式类型转换时。例如:
3 == '3'
是true
,而这不是:
3 === '3'
Douglas Crockford 建议始终使用严格比较。
您可以使用它来检查变量的包含值和类型是否与比较的相同。