JavaScript中==和===之间的区别
JavaScript中==和===之间的区别
这个问题已经有答案了:JavaScript比较中应该使用哪个等号运算符(== vs ===)?
< p> == </ code>和
=== </ code>在JavaScript中有什么区别?我还见过
!= </ code>和
!== </ code>运算符。还有更多这样的运算符吗?</ p>
admin 更改状态以发布 2023年5月24日
===
和!==
是严格比较运算符:
JavaScript具有严格比较和类型转换相等比较。对于严格等式,被比较的对象必须具有相同的类型和以下特点:
- 当两个字符串具有相同的字符序列、相同的长度和在相应位置具有相同的字符时,它们严格相等。
- 当两个数字共有数值相等时,它们严格相等。
NaN
与任何东西都不相等,包括NaN
。正零和负零相等。- 当两个布尔值都为真或都为假时,它们严格相等。
- 当两个对象引用同一个
对象
时,它们严格相等。Null
和Undefined
类型是==
(但不是===
)。[例如(Null==Undefined
)为true
,但(Null===Undefined
)为false
]
看这里:http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
三个等号表示“不带类型转换的相等”。使用三等号,值的类型也必须相等。
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