试一试
console.log(1 != 1);
// Expected output: false
console.log("hello" != "hello");
// Expected output: false
console.log("1" != 1);
// Expected output: false
console.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"; // true
1 != 1; // false
"hello" != "hello"; // false
进行类型转换的比较
js
"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
对象的比较
js
const object1 = {
key: "value",
};
const object2 = {
key: "value",
};
console.log(object1 != object2); // true
console.log(object1 != object1); // false
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-equality-operators |
浏览器兼容性
加载中…