严格不等 (!==)

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

严格不相等(!==运算符检查它的两个操作数是否不相等,返回一个布尔结果。与不相等运算符不同,严格不相等运算符总是认为不同类型的操作数是不同的。

试一试

console.log(1 !== 1);
// Expected output: false

console.log("hello" !== "hello");
// Expected output: false

console.log("1" !== 1);
// Expected output: true

console.log(0 !== false);
// Expected output: true

语法

js
x !== y

描述

严格不相等运算符检查它的操作数是否不相等。它是严格相等运算符的否定,因此以下两行代码总是会给出相同的结果:

js
x !== y;

!(x === y);

有关比较算法的详细信息,请参阅严格相等运算符页面。

与严格相等运算符一样,严格不相等运算符总是认为不同类型的操作数是不同的。

js
3 !== "3"; // true

示例

比较相同类型的操作数

js
"hello" !== "hello"; // false
"hello" !== "hola"; // true

3 !== 3; // false
3 !== 4; // true

true !== true; // false
true !== false; // true

null !== null; // false

比较不同类型的操作数

js
"3" !== 3; // true
true !== 1; // true
null !== undefined; // 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

浏览器兼容性

另见