返回
JavaScript中运算符==、!=、===和!==的用法和区别
前端
2023-10-10 16:36:48
JavaScript中的相等性判断
在JavaScript中,相等性判断使用两个运算符:==和===。==运算符用于比较两个值的相等性,而===运算符用于比较两个值的严格相等性。
==运算符
==运算符用于比较两个值是否相等。它会先将两个值转换为相同的数据类型,然后再进行比较。例如:
var num = 1;
var str = '1';
console.log(num == str); //true
在上面的代码中,==运算符将数字1和字符串'1'转换为相同的字符串类型,然后再进行比较。由于两个字符串的值相同,因此结果为true。
===运算符
===运算符用于比较两个值的严格相等性。它不会将两个值转换为相同的数据类型,而是直接比较两个值是否相同。例如:
var num = 1;
var str = '1';
console.log(num === str); //false
在上面的代码中,===运算符不会将数字1和字符串'1'转换为相同的字符串类型,而是直接比较两个值是否相同。由于两个值的数据类型不同,因此结果为false。
JavaScript中的不相等性判断
在JavaScript中,不相等性判断使用两个运算符:!=和!==。!=运算符用于判断两个值是否不相等,而!==运算符用于判断两个值的严格不相等性。
!=运算符
!=运算符用于判断两个值是否不相等。它会先将两个值转换为相同的数据类型,然后再进行比较。例如:
var num = 1;
var str = '1';
console.log(num != str); //false
在上面的代码中,!=运算符将数字1和字符串'1'转换为相同的字符串类型,然后再进行比较。由于两个字符串的值相同,因此结果为false。
!==运算符
!==运算符用于判断两个值的严格不相等性。它不会将两个值转换为相同的数据类型,而是直接比较两个值是否不同。例如:
var num = 1;
var str = '1';
console.log(num !== str); //true
在上面的代码中,!==运算符不会将数字1和字符串'1'转换为相同的字符串类型,而是直接比较两个值是否不同。由于两个值的数据类型不同,因此结果为true。
总结
下表总结了==、!=、===和!==运算符的用法和区别:
运算符 | 用法 | 结果 |
---|---|---|
== | 比较两个值是否相等 | 如果两个值相同,则返回true,否则返回false |
=== | 比较两个值的严格相等性 | 如果两个值相同且数据类型相同,则返回true,否则返回false |
!= | 比较两个值是否不相等 | 如果两个值不同,则返回true,否则返回false |
!== | 比较两个值的严格不相等性 | 如果两个值不同或数据类型不同,则返回true,否则返回false |