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

可能重复:
Javascript === vs ==:这与我使用的“平等”运算符有关吗?

是什么区别=====在JavaScript? 我也看到了!=!==运算符。 有更多这样的操作员吗?


===!==是严格的比较运算符:

JavaScript有严格的和类型转换的平等比较。 对于严格的平等,被比较的对象必须具有相同的类型,并且:

  • 如果两个字符串具有相同的字符序列,相同的长度和相应位置上的相同字符,则两个字符串是严格相等的。
  • 两个数字在数值上相等时(数字值相同)严格相等。 NaN不等于任何东西,包括NaN。 正和负的零相等。
  • 如果两个布尔操作数都为真或两者都为假,则两个布尔操作数严格相等。
  • 如果两个对象引用同一个对象,则两个对象严格相等。
  • 空和未定义的类型是==(但不是===)。 [Ie(Null == Undefined)是true,但(Null === Undefined)是false]
  • 比较运算符 - MDC


    看看这里: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
    
    链接地址: http://www.djcxy.com/p/427.html

    上一篇: Difference between == and === in JavaScript

    下一篇: What is the difference between casting and coercing?