在编程中,== 和 === 这两个操作符用于比较两个值,但它们的行为略有不同,具体取决于使用的编程语言。
在 JavaScript 中
== (宽松相等运算符): 比较两个值时,首先会进行类型转换,然后再进行比较。这意味着 == 会在比较之前将操作数转换为相同的类型。
javascript
console.log(5 == '5'); // true,因为 '5' 被转换为数字 5
console.log(null == undefined); // true,因为 null 和 undefined 被认为是相等的
=== (严格相等运算符): 比较两个值时,既不进行类型转换,也不做隐式转换。如果两个值的类型不同,=== 将直接返回 false。
javascript
console.log(5 === '5'); // false,因为类型不同(一个是数字,一个是字符串)
console.log(null === undefined); // false,因为类型不同(一个是 null,一个是 undefined)