在JavaScript中!=与!==相同

时间:2009-12-22 12:23:49

标签: javascript syntax

  

可能重复:
  Javascript === vs == : Does it matter which “equal” operator I use?
  Javascript operator !==

查看this commit

JavaScript中!=!==相同吗?

6 个答案:

答案 0 :(得分:105)

他们巧妙地不一样。

!=检查值
!==检查值并输入

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

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

答案 1 :(得分:13)

来自

http://en.wikipedia.org/wiki/JavaScript_syntax#Operators

!==不一样

!=不等于

AND“相同意味着相同和相同的类型。”

http://docstore.mik.ua/orelly/webprog/jscript/ch05_04.htm

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

-

总结一下,它们是一样的吗?不,因为还有一个额外的测试,使用!==(over!=)来确定类型的相同性和相同性。

答案 2 :(得分:9)

不,它不一样。请参阅示例here

4 !== '4' returns true   (and 4 === '4' returns false)
4 != '4'  returns false  (and 4 == '4'  returns true)

答案 3 :(得分:6)

最大的区别在于!=执行类型强制。也就是说,在检查相等性之前,有效地将一个值强制转换为另一个值。这就是Amadiere的回答:

'1' != 1

评估为false。对于== v。===也是如此。通常,避免==和!=,除非您特别希望执行强制。使用===和!==并检查您正在寻找的结果。

答案 4 :(得分:0)

不仅检查价值,还检查比较物品的类型。在php和其他一些语言中也是如此。

答案 5 :(得分:0)

请查看JSLint以了解差异。我还建议你通过JSLint至少传递一次JavaScript代码,你可能会学到有价值的东西......