This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Нестрогое неравенство (!=)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Операторнестрогого неравенства (!=) проверяет, являются ли два его операнда неравными, возвращая логическое значение.В отличие от операторастрогого неравенства пытается привести и сравнить операнды разных типов.
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Синтаксис
x != yОписание
Оператор нестрогого неравенства проверяет, являются ли его операнды неравными, что является отрицанием операторанестрого равенства. Поэтому следующие две строки всегда дадут одинаковый результат:
x != y;!(x == y);Подробное описание алгоритма сравнения есть на странице операторанестрого равенства.
Так же как и оператор нестрогого равенства, оператор нестрогого неравенства пытается привести и сравнить операнды разных типов:
3 != "3"; // falseЧтобы предотвратить такое поведение при необходимости считать операнды разных типов неравными, используйте операторстрогого неравенства:
3 !== "3"; // trueПримеры
>Сравнение без приведения типов
1 != 2; // true"hello" != "hola"; // true1 != 1; // false"hello" != "hello"; // falseСравнение с приведением типов
"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Сравнение объектов
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> |