返回

JavaScript中运算符==、!=、===和!==的用法和区别

前端

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