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 中的 != 和 !== 运算符有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章