javascript,奇怪的比较运算符

javascript,奇怪的比较运算符,javascript,Javascript,可能重复: 我在一些chrome扩展的源代码中遇到了“!==”奇怪的比较运算符。代码段: function closedTab(id) { if (openedTabs[id] !== undefined) { openedTabs[id].time = timeNow(0); closedTabs.unshift(openedTabs[id]); } } 这个操作符不是只使用一次,所以应该有一些含义 “!==”是否来自于某种JavaScript魔术?或者

可能重复:

我在一些chrome扩展的源代码中遇到了“!==”奇怪的比较运算符。代码段:

function closedTab(id) {
   if (openedTabs[id] !== undefined) {
      openedTabs[id].time = timeNow(0);
      closedTabs.unshift(openedTabs[id]);
   }
}
这个操作符不是只使用一次,所以应该有一些含义

!==”是否来自于某种JavaScript魔术?或者它仅仅等同于通常的“!=”?
谢谢

区别在于
==在比较之前不尝试将其操作数转换为相同类型。与
==
==
相同


看到这个问题:

区别在于
==在比较之前不尝试将其操作数转换为相同类型。与
==
==
相同


查看此问题:

这称为严格比较运算符,它不仅检查值,还检查类型。

这称为严格比较运算符,它不仅检查值,还检查类型。

!==是not标识比较运算符

!=将强制这两种类型匹配

!==不会强制这两种类型

举几个例子:

3 == "3"    // true - the operands are coerced to the same type, then compared and they match
3 === "3"   // false - the operands are not coerced to the same type, so do not match
3 != "3"    // false
3 !== "3"   // true

!==是not标识比较运算符

!=将强制这两种类型匹配

!==不会强制这两种类型

举几个例子:

3 == "3"    // true - the operands are coerced to the same type, then compared and they match
3 === "3"   // false - the operands are not coerced to the same type, so do not match
3 != "3"    // false
3 !== "3"   // true

差异来自于值的类型不同时发生的情况

==
运算符(及其近亲
===
)检查值和类型是否相等<代码>=
==
尝试在检查相等之前强制值相同

例如:

if(5 === "5")      // evaluates to false
if(5 == "5")       // evaluates to true
if('foobar' == true) // true
if('foobar' === true) // false

同样的概念也扩展到了
=
==

差异来自不同类型的值时发生的情况

==
运算符(及其近亲
===
)检查值和类型是否相等<代码>=
==
尝试在检查相等之前强制值相同

例如:

if(5 === "5")      // evaluates to false
if(5 == "5")       // evaluates to true
if('foobar' == true) // true
if('foobar' === true) // false

同样的概念也扩展到了
=
==

这是一个相同的比较运算符。它比较值和类型。例如:

if(5 === "5")      // evaluates to false
if(5 == "5")       // evaluates to true
if('foobar' == true) // true
if('foobar' === true) // false

这是一个相同的比较运算符。它比较值和类型。例如:

if(5 === "5")      // evaluates to false
if(5 == "5")       // evaluates to true
if('foobar' == true) // true
if('foobar' === true) // false