-1

可能重复:
JavaScript === vs ==:我使用哪个“相等”运算符有关系吗?
3个不同的等于

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

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

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

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

感谢您的意见!

4

3 回答 3

6

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

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

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

a === 2
b === 4 
于 2012-04-20T13:04:38.813 回答
3

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

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

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

这是一些有用的 javascript 知识的好读物,其中包括三等号以及其他一些知识

于 2012-04-20T13:04:46.947 回答
2

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

'1' == 1 // true
'1' === 1 // false
于 2012-04-20T13:04:44.013 回答