JavaScript 中的 != 和 !== 运算符有啥区别?

Posted

技术标签:

【中文标题】JavaScript 中的 != 和 !== 运算符有啥区别?【英文标题】:What is the difference between != and !== operators in JavaScript?JavaScript 中的 != 和 !== 运算符有什么区别? 【发布时间】:2010-12-25 17:53:54 【问题描述】:

!== 运算符和 javascript 中的 != 运算符有什么区别?它的行为是否类似于比较值和类型的 === 运算符?

【问题讨论】:

你的问题的反面:***.com/questions/359494/… 【参考方案1】:

是的,它和=== 一样的运算符,只是为了in平等:

!== - 如果两个操作数不相同则返回 true。此运算符不会转换操作数类型,并且仅当它们的类型和值相同时才返回 false。 ——Wikibooks

【讨论】:

我真的认为正确的答案需要在其中的某个地方使用强制一词。转换也是有意义的,但为了简洁起见,应该明确它是一种隐式转换。【参考方案2】:

是的,!==!= 运算符的严格版本,如果操作数的类型不同,则不会进行类型强制:

0 != ''            // false, type coercion made
0 != '0'           // false
false != '0'       // false

0 !== ''           // true, no type coercion
0 !== '0'          // true
false !== '0'      // true

【讨论】:

【参考方案3】:

我正要发this w3schools page,但有趣的是它没有包含这个运算符!

至少,!== 确实是 === 的倒数,它测试了类型和值的相等性。

【讨论】:

以上是关于JavaScript 中的 != 和 !== 运算符有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript一元运算符二元运算符和三元运算符

Java和JavaScript中的运算符>>>有啥区别?

是啥 ?。运营商和我可以在哪里使用? JavaScript中的空值合并运算符[重复]

三元运算符如何比较 JavaScript 中的字符和数字?

JavaScript中的6种运算符总结

为啥 JavaScript 中的逻辑运算符是左关联的?