在JavaScript中,==
和 ===
都是用于比较两个值是否相等的运算符,但它们之间之间有一些重要的区别
- 松散相等(==):
==
运算符执行类型转换,然后比较值是否相等。- 如果比较的两个值的类型不同,JavaScript会尝试将它们转换为相同的类型,然后再比较。
- 例如,
"5" == 5
会返回true
,因为字符串 "5" 会被转换为数字 5console.log("5" == 5); // true console.log(null == undefined); // true
2 严格相等(===):
===
运算符执行严格的相等比较,不进行类型转换。- 如果比较的两个值的类型不同,
===
直接返回false
。 - 例如,
"5" === 5
会返回false
,因为类型不同console.log("5" === 5); // false console.log(null === undefined); // false