← 返回首页
严格不相等(!==) - JavaScript | MDN

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

严格不相等(!==)

基线 广泛可用

自 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® 2027 Language Specification
# sec-equality-operators

浏览器兼容性

启用 JavaScript 以查看此浏览器兼容性表。

参见