引言
在 Javascript 中,我们经常需要判断两个变量是否相等。通常使用的是双等号 ==
或三等号 ===
运算符。然而,在某些情况下,我们可能需要判断两个变量不相等。这时候就需要用到逻辑运算符中的 !==
运算符。
概述
!==
运算符用于比较两个值是否不相等,它和 ===
运算符是互补的关系。当两个值类型相同且值不相等时,!==
运算符返回 true,否则返回 false。
示例
const a = 1; const b = '1'; console.log(a !== b); // true console.log(a === b); // false
上面的代码中,a
的值为数字型的 1,b
的值为字符串型的 1。虽然它们的值相等,但是由于它们的类型不同,因此使用 !==
运算符比较时返回 true。
注意事项
对象比较
对于对象的比较,!==
运算符只能判断它们的引用是否相等。如果两个对象的属性值相同,但是它们的内存地址不同,那么使用 !==
运算符比较时会返回 true。
const obj1 = { name: 'Alice' }; const obj2 = { name: 'Alice' }; console.log(obj1 !== obj2); // true
上面的代码中,虽然 obj1
和 obj2
的属性值相同,但是它们的内存地址不同,因此使用 !==
运算符比较时会返回 true。
NaN 比较
由于 NaN(Not a Number)是一个特殊的数字类型,它与任何值都不相等,包括它本身。因此,在与 NaN 比较时,即使两个值都是 NaN,使用 !==
运算符也会返回 true。
const x = NaN; const y = NaN; console.log(x !== y); // true
总结
在 JavaScript 中,逻辑运算符 !==
用于判断两个值是否不相等。当两个值类型相同且值不相等时,!==
运算符返回 true,否则返回 false。需要注意的是,对象比较时只能判断引用是否相等,NaN 比较时总是返回 true。在实际开发中,我们应该根据具体情况选择适当的比较方式,以保证程序的正确性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/26436