JavaScript 中 == 和 === 之间的区别

JavaScript 中=====什么区别?我也看到过!=!==运算符。还有更多这样的运营商吗?

答案

在这里看看: 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 。正零和负零彼此相等。
  • 如果两个布尔操作数都为 true 或均为 false,则它们严格相等。
  • 如果两个对象引用相同的Object则它们严格相等。
  • NullUndefined类型为== (但不是=== )。 [即( Null==Undefined )为true但( Null===Undefined )为false ]

比较运算符 - MDC