JavaScript中的!=和!==操作符有什么区别?

30

!==操作符和!=操作符在JavaScript中的区别是什么?它是否与===操作符类似,其中它比较值和类型?


1
你的问题的反向:https://dev59.com/Z3RC5IYBdhLWcg3wROpQ - Crescent Fresh
还有一个类似的问题:*在JavaScript中,'!='和'!=='是一样的吗?*。有更多的答案,但这是重复的目标。 - Peter Mortensen
3个回答

37

是的,这个操作符与===相同,只不过用于不等式:

!== - 如果两个操作数不完全相同,则返回true。此操作符不会转换操作数类型,只有在它们具有相同的类型和值时才返回false。 ——Wikibooks


我真的认为正确的答案需要在其中使用"强制转换"这个词。转换也有意义,但为了简洁明了,应该明确表明这是一个隐式转换。 - Alex W

11

是的,!==!= 运算符的严格版本,如果操作数的类型不同,则不会执行任何类型转换:

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

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

6

我本来要发布这个W3Schools页面,但有趣的是它并没有包含这个运算符!

至少,!==确实是===的反义词,它测试类型和值的相等性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接