JavaScript中的相等操作符如何正确使用并区分等于、严格等于和全等?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1301个文字,预计阅读时间需要6分钟。
ECMAScript 中的相等操作符包括两个等于号(==)、三个等于号(===)和两个不等号(!=、!==)。如果两个操作数相等,则返回 true。相等操作符会先转换操作数(强制类型转换),然后比较它们的值是否相等。如果转换后的值相等,则返回 true。
ECMAScript 中的相等操作符由两个等于号 ( == ) 表示,如果两个操作数相等,则返回 true。
相等操作符会先转换操作数(通常称为强制转型),然后比较它们的相等性。
在转换不同的数据类型时,相等操作符遵循下列基本规则:
1. 如果有一个操作数是布尔值,则在比较相等性之前,将其转换为数值;
2. 如果一个操作数是字符串,另一个操作数是数值,在比较之前先将字符串转换为数值;
3. 如果一个操作数是对象,另一个操作数不是,则调用对象的 valueOf() 方法,用得到的基本类型值按照前面的规则进行比较;
4. 如果有一个操作数是 NaN,无论另一个操作数是什么,相等操作符都返回 false;
5. 如果两个操作数都是对象,则比较它们是不是同一个对象。如果指向同一个对象,则相等操作符返回 true;
6. 在比较相等性之前,不能将 null 和 undefined 转成其他值。
7. null 和 undefined 是相等的。
本文共计1301个文字,预计阅读时间需要6分钟。
ECMAScript 中的相等操作符包括两个等于号(==)、三个等于号(===)和两个不等号(!=、!==)。如果两个操作数相等,则返回 true。相等操作符会先转换操作数(强制类型转换),然后比较它们的值是否相等。如果转换后的值相等,则返回 true。
ECMAScript 中的相等操作符由两个等于号 ( == ) 表示,如果两个操作数相等,则返回 true。
相等操作符会先转换操作数(通常称为强制转型),然后比较它们的相等性。
在转换不同的数据类型时,相等操作符遵循下列基本规则:
1. 如果有一个操作数是布尔值,则在比较相等性之前,将其转换为数值;
2. 如果一个操作数是字符串,另一个操作数是数值,在比较之前先将字符串转换为数值;
3. 如果一个操作数是对象,另一个操作数不是,则调用对象的 valueOf() 方法,用得到的基本类型值按照前面的规则进行比较;
4. 如果有一个操作数是 NaN,无论另一个操作数是什么,相等操作符都返回 false;
5. 如果两个操作数都是对象,则比较它们是不是同一个对象。如果指向同一个对象,则相等操作符返回 true;
6. 在比较相等性之前,不能将 null 和 undefined 转成其他值。
7. null 和 undefined 是相等的。

