JavaScript 中==
和之间有什么区别===
?我也见过!=
和!==
运营商。还有更多这样的运营商吗?
JavaScript 中 == 和 === 的区别
IT技术
javascript
comparison-operators
equality-operator
identity-operator
2021-01-12 20:50:51
2个回答
看看这里:http : //longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
3 个等号表示“没有类型强制的平等”。使用三重等号时,值的类型也必须相等。
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
===
和!==
是严格的比较运算符:
JavaScript 有严格的和类型转换的相等比较。为了
strict
相等,被比较的对象必须具有相同的类型,并且:
- 当两个字符串具有相同的字符序列、相同的长度并且在相应位置具有相同的字符时,它们是严格相等的。
- 当两个数字在数值上相等(具有相同的数值)时,它们是严格相等的。
NaN
不等于任何东西,包括NaN
. 正零和负零彼此相等。- 如果两个布尔操作数都为真或都为假,则两个布尔操作数严格相等。
- 如果两个对象引用相同的 ,则它们严格相等
Object
。Null
和Undefined
类型是==
(但不是===
)。[即 (Null==Undefined
) 是true
但 (Null===Undefined
) 是false
]