此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
不相等(!=)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
不相等运算符(!=)检查其两个操作数是否不相等,并返回布尔结果。与严格不相等运算符不同,它会转换并比较不同类型的操作数。
In this article
尝试一下
console.log(1 != 1);// Expected output: falseconsole.log("hello" != "hello");// Expected output: falseconsole.log("1" != 1);// Expected output: falseconsole.log(0 != false);// Expected output: false语法
js
x != y描述
不等式运算符检查其操作数是否不相等。这是相等运算符的否定,因此以下两行将始终给出相同的结果:
js
x != y;!(x == y);有关比较算法的详细信息,请参见相等运算符的页面。
与相等运算符一样,不相等运算符将尝试转换和比较不同类型的操作数:
js
3 != "3"; // false为避免这种情况,并要求将不同类型视为不同,请使用严格不相等运算符:
js
3 !== "3"; // true示例
>没有类型转换的比较
js
1 != 2; // true"hello" != "hola"; // true1 != 1; // false"hello" != "hello"; // false有类型转换的比较
js
"1" != 1; // false1 != "1"; // false0 != false; // false0 != null; // true0 != undefined; // true0 != !!null; // false,看看逻辑非运算符0 != !!undefined; // false,看看逻辑非运算符null != undefined; // falseconst number1 = new Number(3);const number2 = new Number(3);number1 != 3; // falsenumber1 != number2; // true比较对象
js
const object1 = { key: "value",};const object2 = { key: "value",};console.log(object1 != object2); // trueconsole.log(object1 != object1); // false规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-equality-operators> |