--- title: 不等于 (!=) slug: Web/JavaScript/Reference/Operators/Inequality tags: - JavaScript - 参考 - 语言特征 - 运算符 translation_of: Web/JavaScript/Reference/Operators/Inequality ---
不等于运算符 (!=
) 检查其两个操作数是否不相等,并返回布尔结果。 与严格的不等式运算符不同,它尝试转换和比较不同类型的操作数。
x != y
不等式运算符检查其操作数是否不相等。这是等于运算符的取反,因此以下两行将始终给出相同的结果:
x != y !(x == y)
有关比较算法的详细信息,请参见等于运算符的页面。
与等于运算符一样,不等于运算符将尝试转换和比较不同类型的操作数:
3 != "3"; // false
为避免这种情况,并要求将不同类型视为不同,请使用严格的不等于运算符:
3 !== "3"; // true
1 != 2; // true "hello" != "hola"; // true 1 != 1; // false "hello" != "hello"; // false
"1" != 1; // false 1 != "1"; // false 0 != false; // false 0 != null; // true 0 != undefined; // true 0 != !!null; // false, look at Logical NOT operator 0 != !!undefined; // false, look at Logical NOT operator null != undefined; // false const number1 = new Number(3); const number2 = new Number(3); number1 != 3; // false number1 != number2; // true
const object1 = {"key": "value"} const object2 = {"key": "value"}; object1 != object2 // true object2 != object2 // false
Specification |
---|
{{SpecName('ESDraft', '#sec-equality-operators', 'Equality operators')}} |
{{Compat("javascript.operators.inequality")}}