在 JavaScript 中,'!=' 和 '!==' 一样吗?

新手上路,请多包涵
阅读 456
2 个回答

他们微妙地不一样。

!= 检查值

!== 检查值和类型

'1' != 1   // false (these two are the same)
'1' !== 1 // true (these two are **not** the same).

在前面的例子中。表达式的前半部分是一个字符串,后半部分是一个整数。

原文由 Amadiere 发布,翻译遵循 CC BY-SA 2.5 许可协议

从 _JavaScript 语法, Operators_ ,

!== 不相同

!= 不等于

AND “相同意味着相同且类型相同。”

从 _5.4。平等运算符_:

“在 JavaScript 中,数字、字符串和布尔值按值进行比较。……另一方面,对象、数组和函数按引用进行比较。”

所以总而言之,它们是一样的吗?不,因为有一个额外的测试 !== (超过 !=) 类型 相同equality

原文由 martinr 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题