JavaScript中==和==之间的区别是什么?我也见过!=和!==操作员。还有更多这样的运营商吗?
==和!==是严格的比较运算符:
JavaScript同时具有严格和类型转换相等比较。为了严格相等比较的必须具有相同的类型,并且:当两个字符串具有相同的字符、相同长度和相同字符在相应位置。两个数字在数值上相等时是严格相等的相同的数值)。NaN不是等于任何东西,包括NaN。正负零相等彼此之间。如果两个布尔操作数都为真或两者都是错误的。如果两个对象引用同一对象,则它们严格相等。Null和未定义的类型是==(但不是==)。[即(Null==未定义)为真,但(Null===未定义)则为假]
比较运算符-MDC
看看这里:http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
3个等号表示“没有类型强制的平等”。使用三重相等,值的类型也必须相等。
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
推荐文章
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 我如何等待一个承诺完成之前返回一个函数的变量?
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 如何写setTimeout与参数Coffeescript
- 将JavaScript字符串中的多个空格替换为单个空格
- JavaScript: override alert()
- 重置setTimeout
- 如何确保<select>表单字段被禁用时提交?
- jQuery有不聚焦的方法吗?
- 反应钩子-正确的方式清除超时和间隔