“===”在Javascript / Jquery中意味着什么?

时间:2012-04-20 13:02:52

标签: javascript jquery jquery-mobile operators

  

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

我试图了解这里发生了什么:

 data.toPage = $('div#someID');

if ( typeof data.toPage === "string" ) {
      // sth
      console.log("hello");
      }

所以我正在检查字符串我不是吗?我好奇,因为我的控制台“helloes”。

感谢您的一些意见!

3 个答案:

答案 0 :(得分:6)

== 这是相等的运算符,如果两个操作数相等,则返回布尔值true。 JavaScript将尝试将不同的数据类型转换为相同的类型以进行比较。假设'a'为2而'b'为4,以下示例将返回值true:

a == 2
a == "2"
2 == '2' 

=== 这是严格相等的运算符,只有两个操作数相等且类型相同时才返回布尔值true。这些下一个示例返回true:

a === 2
b === 4 

答案 1 :(得分:3)

三等号===比较值类型,而双==仅比较值

例如"1"1具有相同的值(可以这么说)但具有不同的类型。因此会发生以下情况:

"1" == 1 //true
"1" === 1 //false

This is a great read获取一些有用的javascript知识,其中包括三等于其他知识渊博的内容

答案 2 :(得分:2)

===比较运算符意味着在进行比较之前,这两个值的类型不会被修改,因此它们需要具有相同的类型,并且表示相同的值才能返回true

'1' == 1 // true
'1' === 1 // false