From 53896f194bc5360154cbe2a8e2680471a7069c22 Mon Sep 17 00:00:00 2001 From: User0k Date: Fri, 4 Oct 2024 18:46:33 +0300 Subject: [PATCH] [ru] add Web/JavaScript/Reference/Operators/Inequality translation --- .../reference/operators/inequality/index.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 files/ru/web/javascript/reference/operators/inequality/index.md diff --git a/files/ru/web/javascript/reference/operators/inequality/index.md b/files/ru/web/javascript/reference/operators/inequality/index.md new file mode 100644 index 00000000000000..5eaf160bab20e1 --- /dev/null +++ b/files/ru/web/javascript/reference/operators/inequality/index.md @@ -0,0 +1,102 @@ +--- +title: Нестрогое неравенство (!=) +slug: Web/JavaScript/Reference/Operators/Inequality +l10n: + sourceCommit: f616cb604af851f77f8cd59368e94ee3e43a8838 +--- + +{{jsSidebar("Operators")}} + +Оператор **нестрогого неравенства (`!=`)** проверяет, являются ли два его операнда неравными, возвращая логическое значение. +В отличие от оператора [строгого неравенства](/ru/docs/Web/JavaScript/Reference/Operators/Strict_inequality) пытается привести и сравнить операнды разных типов. + +{{EmbedInteractiveExample("pages/js/expressions-inequality.html")}} + +## Синтаксис + +```js-nolint +x != y +``` + +## Описание + +Оператор нестрогого неравенства проверяет, являются ли его операнды неравными, что является отрицанием оператора [нестрого равенства](/ru/docs/Web/JavaScript/Reference/Operators/Equality). Поэтому следующие две строки всегда дадут одинаковый результат: + +```js +x != y; + +!(x == y); +``` + +Подробное описание алгоритма сравнения есть на странице оператора [нестрого равенства](/ru/docs/Web/JavaScript/Reference/Operators/Equality). + +Так же как и оператор нестрогого равенства, оператор нестрогого неравенства пытается привести и сравнить операнды разных типов: + +```js +3 != "3"; // false +``` + +Чтобы предотвратить такое поведение при необходимости считать операнды разных типов неравными, используйте оператор [строгого неравенства](/ru/docs/Web/JavaScript/Reference/Operators/Strict_inequality): + +```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 +``` + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- [Нестрогое равенство (`==`)](/ru/docs/Web/JavaScript/Reference/Operators/Equality) +- [Строгое равенство (`===`)](/ru/docs/Web/JavaScript/Reference/Operators/Strict_equality) +- [Строгое неравенство (`!==`)](/ru/docs/Web/JavaScript/Reference/Operators/Strict_inequality)