← 返回首页
Нестрогое неравенство (!=) - JavaScript | MDN

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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

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

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

Enable JavaScript to view this browser compatibility table.

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