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
==和!==是严格的比较运算符:
JavaScript同时具有严格和类型转换相等比较。为了严格相等比较的必须具有相同的类型,并且:当两个字符串具有相同的字符、相同长度和相同字符在相应位置。两个数字在数值上相等时是严格相等的相同的数值)。NaN不是等于任何东西,包括NaN。正负零相等彼此之间。如果两个布尔操作数都为真或两者都是错误的。如果两个对象引用同一对象,则它们严格相等。Null和未定义的类型是==(但不是==)。[即(Null==未定义)为真,但(Null===未定义)则为假]
比较运算符-MDC
推荐文章
- 如何使用Jest测试对象键和值是否相等?
- 将长模板文字行换行为多行,而无需在字符串中创建新行
- 如何在JavaScript中映射/减少/过滤一个集?
- Bower: ENOGIT Git未安装或不在PATH中
- 添加javascript选项选择
- 在Node.js中克隆对象
- 为什么在JavaScript的Date构造函数中month参数的范围从0到11 ?
- 使用JavaScript更改URL参数并指定默认值
- 在window.setTimeout()发生之前取消/终止
- 如何删除未定义和空值从一个对象使用lodash?
- 检测当用户滚动到底部的div与jQuery
- 在JavaScript中检查字符串包含另一个子字符串的最快方法?
- 检测视口方向,如果方向是纵向显示警告消息通知用户的指示
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- 禁用从HTML页面中拖动图像