Нестрогое неравенство (!=)
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.
Оператор нестрогого неравенства (!=
) проверяет, являются ли два его операнда неравными, возвращая логическое значение.
В отличие от оператора строгого неравенства пытается привести и сравнить операнды разных типов.
Интерактивный пример
Синтаксис
x != y
Описание
Оператор нестрогого неравенства проверяет, являются ли его операнды неравными, что является отрицанием оператора нестрого равенства. Поэтому следующие две строки всегда дадут одинаковый результат:
x != y;
!(x == y);
Подробное описание алгоритма сравнения есть на странице оператора нестрого равенства.
Так же как и оператор нестрогого равенства, оператор нестрогого неравенства пытается привести и сравнить операнды разных типов:
3 != "3"; // false
Чтобы предотвратить такое поведение при необходимости считать операнды разных типов неравными, используйте оператор строгого неравенства:
3 !== "3"; // true
Примеры
Сравнение без приведения типов
1 != 2; // true
"hello" != "hola"; // true
1 != 1; // false
"hello" != "hello"; // false
Сравнение с приведением типов
"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
Сравнение объектов
const object1 = {
key: "value",
};
const object2 = {
key: "value",
};
console.log(object1 != object2); // true
console.log(object1 != object1); // false
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-equality-operators |
Совместимость с браузерами
BCD tables only load in the browser