【问题标题】:Meaning of === operator in javascript [duplicate]javascript中===运算符的含义[重复]
【发布时间】:2012-02-28 16:02:44
【问题描述】:

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

例如:

if (c === 0){
   //
}

上面ex中的===是什么意思?

【问题讨论】:

标签: javascript dom-events javascript-framework


【解决方案1】:

a == b 表示a 等于b

a === b 表示a 等于b 并且它们的类型相同

【讨论】:

    【解决方案2】:

    == 运算符仅检查两个值的等价性,而 === 运算符则更进一步,还断言两个值的类型相同。

    2 == "2" // true
    

    同时:

    2 === "2" // false
    

    【讨论】:

      【解决方案3】:

      这是一个示例

      <script type="text/javascript">
              var y = 0;
              if(y == "0"){
                  document.write("== '0' True <br/>");
              }
              else{
                  document.write("== '0' False <br/>");
              }
      
              if(y == 0){
                  document.write("== 0 Number is True <br/>");
              }
              else{
                  document.write("== 0 Number False <br/>");
              }
      
              if( y === 0){
                  document.write("=== 0 Number is True <br/>");
              }
              else{
                  document.write("=== 0 Number is False <br/>");
              }
      
              if(y === "0"){
                  document.write("=== 0 is True <br/>");
              }
              else{
                  document.write("=== 0 is False<br/>");
              }
          </script>
      

      如果正确的值为0,你会得到

      == '0' True
      == 0 Number is True
      === 0 Number  is True
      === 0 is False
      

      【讨论】:

        【解决方案4】:

        这是严格的相等运算符,仅当两个操作数相等且类型相同时才返回布尔值 true。假设这些:

        a = 2
        b = 4
        

        以下示例返回 true:

        a === 2 
        b === 4 
        

        此运算符还有一个相反的操作:!== 这是严格不等于运算符,仅当两个操作数不相等和/或类型不同时才返回 true 值。以下示例返回布尔值 true:

        a !== b 
        a !== "2" 
        4 !== '4' 
        

        这里引用的全部内容: http://www.devguru.com/technologies/ecmascript/quickref/comparison_operators.html

        【讨论】:

          【解决方案5】:

          它检查c 是否等于数字 0=== 是严格相等运算符。它不会尝试强制输入操作数。

          例如:

          0 == false; //true (false coerces to 0)
          0 === false; //false (no type coercion)
          

          【讨论】:

          • 换句话说,它检查值类型
          • @Joseph - 是的,这可能是一种更简单的表达方式:)
          • 再澄清一点,"0" === "0" 是真的
          • @Steve - 我认为这是不言而喻的......它们都是字符串。
          • 我知道,但这只是举一个有真实结果的例子。如果对方提出问题,为什么不给出完整的答案?
          猜你喜欢
          • 2018-02-19
          • 2016-07-25
          • 1970-01-01
          • 2017-02-08
          • 2012-09-09
          • 2016-12-11
          • 2021-03-29
          • 2017-04-05
          • 2011-07-28
          相关资源
          最近更新 更多