Логические операторы в JavaScript — это те операторы, которые используются для формирования сложных условий путем объединения двух или более простых условий или отношений.
Другими простыми словами, логические операторы объединяют сравнение в одну группу условий. Это полезно, когда мы проверяем более одного условия одновременно и используем результаты.
Иногда логические операторы также называются логическими операторами в JavaScript, потому что они возвращают логическое значение true или false после вычисления.
С помощью логических операторов мы можем выполнять логические операции. Мы можем создать мощную инструкцию тестирования данных, комбинируя логические операторы с операторами отношения.
Простой пример логического оператора, который объединяет два реляционных выражения, или условия, выглядит следующим образом:
x > y && y > z
Этот вид выражения называется логическим выражением или составным реляционным выражением.
Типы логических операторов в JavaScript
В JavaScript существует три типа логических операторов. Они перечислены в таблице ниже:
Оператор | Описание |
---|---|
&& | Логические И |
|| | Логическое ИЛИ |
! | Логические НЕ |
Логический оператор И (&&) в JavaScript
Оператор AND объединяет два выражения (или условия) в одну группу условий. Оба выражения тестируются интерпретатором JavaScript отдельно, а затем оператор && сравнивает результат обоих.
Если условия по обе стороны от оператора && равны true, логический оператор && возвращает true. Если одно или оба условия по обе стороны от оператора равны false, то оператор возвращает false. Например:
if(x > y && y < z)
document.write("Hello JavaScript");
В приведенных выше операторах есть два условия: x> y и y <z. Поскольку к обоим условиям присоединяется оператор &&, следовательно, если оба условия верны, будет отображаться «Hello Java».
Итак, мы можем сказать, что оператор AND возвращает true только в том случае, если все выражения (или операнды) истинны. Вот еще несколько примеров для понимания логического оператора AND.
1. 2 > 1 && 3 < 4; // true.
2. 1 == 1 && 99 >= 98; // true.
3. 1 == 2 && 5 <= 4; // false.
Давайте рассмотрим несколько примеров программ, основанных на логическом операторе AND.
Пример 1:
<script>
var x = 10, y = 5;
var result;
result = (x == 10 && y ==5);
document.write(result, "<br>");
result = (x == 10 && y > x);
document.write(result, "<br>");
result = (x < y && y > x);
document.write(result);
</script>
Вывод: true false false
Пример 2:
<script>
var x = 20;
var y = 10;
var z = 25;
if(x > y && y > z)
{
document.write("Hello");
}
if(z > y && y < x)
{
document.write("JavaScript");
}
if((y+200) < x && (y+150) < z)
{
document.write("Hello JavaScript");
}
</script>
Вывод: JavaScript
Объяснение:
1. В первом операторе if есть два условия: x> y и y> z. Условие x> y верно, но y> z неверно. Следовательно, оператор «Hello» не отображается.
2. Во втором операторе if оба условия z> y и y < x являются истинными. Следовательно, отображается оператор «JavaScript».
3. В третьем операторе if оба условия являются ложными. Следовательно, оператор «Привет, JavaScript» не отображается.
Пример 3:
<script>
var x = (15 < 20) && ("pen" < "pencil");
var y = ("Big" < "bigger") && (true!== 1);
var z = ("A" <= "A") && ("a"!= "a");
document.write("x: " +x, "<br>");
document.write("y: " +y, "<br>");
document.write("z: " +z);
</script>
Вывод: x: true y: true z: false
В предыдущей программе x возвращает true, потому что сравнение с обеих сторон верно. 15 меньше 20, а строка pen меньше карандаша на основе кодов ASCII.
Аналогично, y возвращает true, потому что сравнение с обеих сторон верно. Тогда как z возвращает false, потому что сравнение с правой стороны равно false.
Попробуйте
Пример 4:
<script>
var p = true && true;
var q = false && true;
var r = 'a' && 'b';
var s = false && 'a';
var t = 'a' && true;
document.write("p: " +p, "<br>");
document.write("q: " +q, "<br>");
document.write("r: " +r, "<br>");
document.write("s: " +s, "<br>");
document.write("t: " +t);
</script>
Пример 5:
<script>
var p = (true == 1) && (false == 0);
var q = ("2"!== 2) && (2 === 2);
var r = ("5+5" === 5+5) && false;
var s = (false == 0) && (5 > 2);
var t = (10 >= "10") && true;
document.write("p: " +p, "<br>");
document.write("q: " +q, "<br>");
document.write("r: " +r, "<br>");
document.write("s: " +s, "<br>");
document.write("t: " +t);
</script>
Логический оператор OR (||) в JavaScript
Логический оператор OR в JavaScript объединяет два или более выражения или условий в единую группу условий. Он использует двойные каналы (||) в качестве символа.
Оператор OR возвращает true, если одно или оба условия возвращают true. Если условия с обеих сторон оператора равны false, логический оператор OR возвращает false. Например:
if(x > y || y < z)
document.write("'JavaScript Logical Operators");
В приведенных выше операторах есть два условия или выражения: x > y и y < z. Поскольку оба условия объединяются оператором ||, следовательно, если какое-либо из условий выполняется, на веб-странице будут отображаться «Логические операторы JavaScript».
Итак, мы можем сказать, что логический оператор OR возвращает true только в том случае, если хотя бы одно выражение (или операнд) истинно. Вот еще несколько примеров для понимания логического оператора OR.
1. (2 == 2) || (3 > 5); // It will return true because comparison on the left side is true.
2. (5 > 18) || (3!= 9); // It will return true because comparison on the right side is true.
3. (4 == 4) || (5 < 9); // It will return true because comparison on both sides are true.
4. (4 < 2) || (2 == 1); // It will return false because both comparison are false.
5. (3!= 3) || (3 >= 9); // It will return false because both comparison are true.
Давайте рассмотрим несколько примеров программ, основанных на логическом операторе OR в JavaScript.
Пример 6:
<script>
var x = 10, y = 5, z = 20;
if((x > y) || (y == z))
document.write("One", "<br>");
if((x == y) || (y < z))
document.write("Two", "<br>");
if((x!== y) || (y!= z))
document.write("Three", "<br>");
if((x < y) || (y > z))
document.write("Four");
</script>
Вывод: Один Два Три
В предыдущей программе оба условия были ложными в последнем операторе if. Следовательно, «четыре» не отображается в браузере.
Пример 7:
<script>
var a, b, c, d;
a = ("big "!== "bigger") || (false);
document.write("a: " +a, "<br>");
b = true || false;
document.write("b: " +b, "<br>");
c = "a" || D;
document.write("c: " +c, "<br>");
d = ("ABc" > "abC") || false;
document.write("d: " +d);
</script>
Вывод: a: true b: true c: a d: false
Попробуйте
Пример 8:
<script>
var p = (true == 1) || (false == 0);
var q = ("2"!== 2) || (2 === 2);
var r = ("5+5" === 5+5) || false;
var s = (false == 0) || (5 > 2);
var t = (10 >= "10") || true;
document.write("p: " +p, "<br>");
document.write("q: " +q, "<br>");
document.write("r: " +r, "<br>");
document.write("s: " +s, "<br>");
document.write("t: " +t);
</script>
Логический оператор NOT (!)
Логический оператор NOT отличается от логических операторов AND и OR. Он используется при единичном сравнении. В основном он используется для изменения результата на противоположный.
То есть, если условие принимает значение true, результат условия возвращает значение false. Если выражение принимает значение false, результат условия возвращает значение true. Например:
if(!(2 > 5))
document.write("I love JavaScript Programming");
В приведенном выше выражении значение 2 больше 5 равно false, но оператор NOT отменяет результат и делает его true. Следовательно, следующее утверждение отобразит «Я люблю программирование на JavaScript» в браузере.
Давайте разберемся с оператором NOT с помощью еще нескольких примеров.
1.!(5 == 5); // It will return false because 5 is equal to 5 is true, but NOT operator makes this statement false.
2.!false; // It will return true because NOT operator reverses the false into true.
3.!true; // It will return false because NOT operator makes it false.
Давайте создадим программу на JavaScript, в которой мы будем выполнять некоторые операции на основе оператора NOT.
Пример 9:
<script>
var a, b, c, d;
a =!("ABc" > "ABC") || (false);
document.write("a: " +a, "<br>");
b =!true ||!false;
document.write("b: " +b, "<br>");
c = ("20" >= 20) ||!(20 === 20);
document.write("c: " +c, "<br>");
d =!("5" > 10) &&!false && (10!= 20);
document.write("d: " +d);
</script>
Вывод: a: false b: true c: true d: true
Попробуйте сами
Пример 10:
<script>
var a, b, c;
a =!("abc" < "ABCD") &&!(false);
document.write("a: " +a, "<br>");
b =!true &&!false;
document.write("b: " +b, "<br>");
c =!("20"!== 20) ||!("20" === 20);
document.write("c: " +c, "<br>");
</script>
В этом руководстве вы изучили логические операторы в JavaScript на различных примерах программ. Я надеюсь, что вы поняли основные концепции логических операторов AND, OR, и NOT в JavaScript.
Спасибо за чтение!!!