Нестрогое неравенство (!=)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Оператор нестрогого неравенства (!=) проверяет, являются ли два его операнда неравными, возвращая логическое значение. В отличие от оператора строгого неравенства пытается привести и сравнить операнды разных типов.

Интерактивный пример

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, обратите внимание на двойное логическое отрицание
0 != !!undefined; // false, обратите внимание на двойное логическое отрицание
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

Спецификации

Specification
ECMAScript® 2025 Language Specification
# sec-equality-operators

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Inequality (a != b)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также