这是一个严格类型的相等运算符。它不仅检查两个值是否相等,还要检查它们的类型是否相同。
考虑在比较数字或字符串时可能遇到的情况:
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'
null
和 undefined
时,if (foo == null)
就可以胜任了,或者当使用 typeof
运算符时,你也不需要它,因为它总是返回一个字符串... if (typeof foo == "undefined")
就足够了... - Christian C. Salvadó你可以使用它来检查一个变量的值和类型是否与比较对象相同。