Js логические операторы: Логические операторы

26. Логические выражения в JavaScript — Выражения и операторы — codebra

Логические операторы очень часто используются в условных конструкциях (см. пример 0.1). Благодаря логическим операторам можно объединять два выражения в одно более сложное. Эта теория поможет вам в понимании пятого курса по JavaScript сайта codebra.

Пример 0.1

if (выражение) {
...
тело конструкции
...
}

Логический оператор И (&&)

Логическое И возвращает истину (true) только тогда, когда оба операнда имеют значение true. Если один или оба операнда имеют значение false, то оператор вернет false.

Пример 1

a == 1 && b == 2 /* -> если a = 1, b = 2, то true */

Все логические выражения возвращают истину (true) или ложь (false). Операторы отношения имеют более высокий приоритет, чем логические операторы, поэтому следующие две строки равны:

Пример 2

a == 1 && b == 2
(a == 1) && (b == 2)

Логический оператор ИЛИ (||)

Как и оператор &&, || работает с двумя операндами. Если один или оба операнда возвращают true, то оператор возвратит true, а если оба операнда false, то оператор вернет false. Работа этого оператора такова: вначале он проверяет левый операнд, в случае если он вернет true, то и оператор || вернет true (второй операнд проверять не имеет смысла), если первый операнд вернет false, то оператор || вернет значение второго (правого) операнда.

Пример 3

a == 1 || b == 2 /* -> если a = 1 или b = 2, то true */

Логический оператор НЕ (!)

В отличие от предыдущих двух операторов, оператор НЕ (!) помещается перед одиночным операндом (слева от операнда). Он инвертирует логическое значение своего операнда. Если операнд давал истинное (true) значение, то после применения оператора !, операнд вернет ложь (false). Если операнд был false, то после применения оператора !, операнд вернет истину (true). Оператор НЕ (!) имеет высокий приоритет.

Пример 4

var a = true;
document.write(!a) /* -> false */
var a = true, b = false;
a == true && !b == true /* -> true */
/*
* Вначале проверяется выражение в скобках
* b вернет истину, a вернет истину, оператор && тоже вернет истину
* после выражение в скобках инвентируется !()
* проверяется левый операнд. a вернет истина.
* b (правый операнд) вернет ложь
* выражение является ложным -> false
*/
a === true && !(b === false && a === true) /* -> false */

Похожие уроки и записи блога

Выражения отношений в JavaScriptВыражения и операторы

Первое знакомство с PythonЗнакомство с Python

Условная инструкция if-elif-else в PythonЗнакомство с Python

Типы данных в PythonЗнакомство с Python

Генераторы и оператор yield в PythonЗнакомство с Python

Обработка исключений (try/except) в PythonЗнакомство с Python

Отношения между множествами и операции над нимиЗнакомство с Python

Функциональное программирование: map, filter и reduceЗнакомство с Python

Работа с файлами в Python Знакомство с Python

Предыдущий урок «25. Выражения отношений в JavaScript» Следующий урок «27. Выражения присваивания в JavaScript»

Логические операторы — JavaScript — Дока

Кратко

Скопировано

Логические операторы помогают составлять сложные логические условия, которые часто нужны при ветвлении с помощью if...else.

При сравнении объектов, массивов и функций, важно учесть их особенность, так как результат сравнения таких типов данных может быть непредсказуемым. Подружиться с особенностями можно в статье «Хранение по ссылке и по значению».

Как пишется

Скопировано

И,

&& Скопировано

Интернет-магазин показывает цены со скидкой только зарегистрированному пользователю, сделавшему больше одной покупки.

В описании два условия, которые должны одновременно быть верными:

  • пользователь должен быть зарегистрирован;
  • количество покупок должно быть больше одной.

Если одно из условий, или оба сразу неверны, то цену показывать не нужно.

Именно по такому принципу работает оператор логическое И, пишется &&. Если соединить с его помощью два выражения, то результат будет равен истине только тогда, когда оба выражения истинны:

if (isRegistered === true && orders > 1) {  // показываем цены}
          if (isRegistered === true && orders > 1) {
  // показываем цены
}
Открыть демо в новой вкладке

Обычно для того, чтобы понять, как работают логические операторы, рисуют таблицу истинности. В ячейках — итоговое значение операции при соответствующих операндах:

&&truefalse
truetruefalse
falsefalsefalse

ИЛИ,

|| Скопировано

Представь, что мы проверяем билеты на концерт. Пропускать нужно людей с билетами, а также тех, кто находится в списке приглашённых. Выполнение любого из этих условий гарантирует попадание на концерт.

Чтобы написать такое составное условие, воспользуйся оператором логического ИЛИ, обозначается как две вертикальные черты ||. Логическое или вернёт true, если хотя бы одно из условий

true.

Генерируйте гостей в демо и смотрите, как отрабатывает условие, которое записано так:

if (hasTicket || isInvited) { ... }
          if (hasTicket || isInvited) { ... }
Открыть демо в новой вкладке
||truefalse
truetruetrue
falsetruefalse

НЕ

! Скопировано

Оператор «логическое НЕ» превращает true в false и наоборот.

Он записывается в виде восклицательного знака ! перед операндом: !операнд . Чаще всего это переменная. Например, !myVariable . Операторы, которые производят операцию над одним операндом называются унарными.

Например, мы можем предлагать купить билет посетителю без билета:

if (!hasTicket) {  // купи билет, дорогой!}
          if (!hasTicket) {
  // купи билет, дорогой!
}

На практике

Скопировано

Сергей Минаков советует

Скопировано

🛠 Оператор «ИЛИ» (||) можно использовать для установки значения по умолчанию, для этого следует воспользоваться следующей конструкцией:

value = value || 'Значение по умолчанию'
          value = value || 'Значение по умолчанию'

Или можно использовать сокращённый вариант:

value ||= 'Значение по умолчанию'
          value ||= 'Значение по умолчанию'

Нужно помнить, что если в переменную записать undefined, null, NaN, 0, пустую строку или любое другое значение, которое JavaScript сможет привести к false, то данная конструкция перезапишет его значением по умолчанию.

В следующем примере пользователю предлагается выбрать поисковой движок и записать его в переменную, но он может отказаться, и тогда мы по умолчанию установим ему Google.

let searchEngine1 = 'Яндекс'let searchEngine2searchEngine1 = searchEngine1 || 'Google'searchEngine2 = searchEngine2 || 'Google'console.log(searchEngine1)// Яндексconsole.log(searchEngine2)// Google (значение по умолчанию)
          let searchEngine1 = 'Яндекс'
let searchEngine2
searchEngine1 = searchEngine1 || 'Google'
searchEngine2 = searchEngine2 || 'Google'
console.log(searchEngine1)
// Яндекс
console.log(searchEngine2)
// Google (значение по умолчанию)

Такой способ работает из-за особенности оператора «ИЛИ»: он не приводит значения к типу Boolean, а просто возвращает то, что стоит левее или правее.

  • Если левое значение можно привести к
    true
    , то оператор возвращает левое значение.
  • Если левое значение можно привести к false, то оператор возвращает правое значение.
console.log(null || 0)// 0console.log(0 || null)// nullconsole.log('Собака' || 'Кошка')// Собака
          console.log(null || 0)
// 0
console.log(0 || null)
// null
console.log('Собака' || 'Кошка')
// Собака

В последнем примере JavaScript приводит левое значение к типу Boolean и получает true, из-за чего решает вернуть именно его ('Собака'), а правое – даже не смотрит.

🛠 Оператор «И» (&&) можно использовать в React компонентах, когда мы хотим что-то показать или спрятать в зависимости от определённого условия, для этого нужно воспользоваться следующей jsx конструкцией:

<>  {    condition &&    <p>      Если condition == true,      то показываем этот текст.    </p>  }</>
          <>
  {
    condition &&
    <p>
      Если condition == true,
      то показываем этот текст.
    </p>
  }
</>

Давайте напишем небольшой компонент, который будет выводить секретное сообщение только тем пользователям, которые ввели правильный пароль:

import React, { useState } from 'react'export default function App() {  const [password, setPassword] = useState('')  return (    <>      <h2>Введите пароль, чтобы увидеть секрет</h2>      <label>        <span>Пароль</span>        <input          type="password"          value={password}          onChange={(e) => setPassword(e.
target.value)} /> </label> { password === '123456' && <p>Секрет: Дока – сокращение от «документация»</p> } </> )} import React, { useState } from 'react' export default function App() { const [password, setPassword] = useState('') return ( <> <h2>Введите пароль, чтобы увидеть секрет</h2> <label> <span>Пароль</span> <input type="password" value={password} onChange={(e) => setPassword(e.target.value)} /> </label> { password === '123456' && <p>Секрет: Дока – сокращение от «документация»</p> } </> ) }

Такой способ работает из-за того, что оператор «И» не приводит значения к типу Boolean, а просто возвращает то, что стоит левее или правее.

  • Если левое значение можно привести к true, то оператор возвращает правое значение.
  • Если левое значение можно привести к false, то оператор возвращает левое значение.
console.log(null && 0)// nullconsole.log(0 && null)// 0console.log('Лево' && 'Право')// Право
          console.log(null && 0)
// null
console.log(0 && null)
// 0
console.log('Лево' && 'Право')
// Право

JavaScript приводит левое значение к типу Boolean и получает true, из-за чего решает вернуть правое значение ('Право').

🛠 Двойное отрицание (!!) можно использовать, если мы хотим привести значение к логическому типу данных. Такой же результат получится, если использовать функцию Boolean.

const value = 'Непустая строка'console.log(Boolean(value))// trueconsole.log(!!value)// true const value = 'Непустая строка' console.log(Boolean(value)) // true console.log(!!value) // true

Логические операторы JavaScript — Pi My Life Up

В этом руководстве вы узнаете о логических операторах в JavaScript.

В JavaScript логический оператор выполняет операции на основе логического вывода двух операндов. Логическим результатом является значение, которое равно true или false .

Используя логический оператор, вы можете легко выполнять операции в зависимости от того, являются ли два операнда истинными или ложными . В JavaScript также есть логический оператор, который возвращает обратное значение, поэтому false когда true и true когда false .

Изучение этих логических операторов является важной частью JavaScript и часто сочетается со многими другими операторами JS.

Эти операторы также составляют жизненно важную часть условных операторов if в JavaScript, помогая вам легко объединять несколько операций и избавляя вас от необходимости вкладывать несколько операторов if.

Ниже мы включили таблицу, демонстрирующую каждый логический оператор, поддерживаемый в JavaScript. Используя эту таблицу, вы должны получить хорошее представление о том, что делает каждый оператор.

Оператор Имя Пример Результат
&& И x && y true if оба x и y равны true
|| ИЛИ х || у верно если x или у верно
! Не! X True IF x False

Конечно, таблица показывает вас так много. Если вы чувствуете, что вам нужно больше узнать о логических операторах, обязательно продолжайте чтение.

Мы расскажем о каждом из этих операторов, покажем их возможные результаты и способы их использования.

Примеры логических операторов в JavaScript

В этом разделе мы рассмотрим каждый логический оператор, который поддерживает JavaScript. Из следующих разделов вы должны узнать, как используется каждый из этих операторов и для чего они используются.

Мы также включили таблицу истинности для каждого значения, чтобы вы могли видеть возможные результаты, которые вы получите в зависимости от значений, переданных оператору.

Оператор И (

&& ) в JavaScript

Логический оператор «И» ( && ) в JavaScript позволяет вам сравнить два операнда, чтобы увидеть, являются ли они оба истинными .

Если оба значения равны true , то оператор вернет true . Если любое значение равно false , то оператор вернет false .

Логический оператор И записывается сначала с левым операндом, затем с двумя символами амперсанда ( && ) и, наконец, с правым операндом. Левый операнд будет сравниваться с правым операндом.

Используя приведенную ниже таблицу истинности, вы можете наблюдать возможные результаты логического оператора в JavaScript. В этой таблице показаны случаи, когда оператор «И» возвращает , ложь, или 9.0005 правда .

Используя это, вы можете увидеть, что он будет возвращать true только в том случае, если оба операнда равны true .

a b a && b
ложь ложь ложь
ложь правда ложь
правда ложь ложь
правда true true

Когда JavaScript оценивает оператор AND, он сначала проверяет левый операнд перед проверкой правого операнда. Он будет проверять только правый операнд, если левый операнд равен true .

Это может быть полезно знать при использовании «И» для сравнения результатов двух функций. Использование более легкой функции в качестве первого вызова может помочь сэкономить процессорное время.

Пример оператора AND

Позвольте нам показать вам два быстрых примера, чтобы продемонстрировать, как оператор AND работает в JavaScript. С помощью « console.log() », мы можем легко увидеть значения, возвращаемые этим логическим оператором.

  • Первое использование логического оператора «И» вернет true .

    Возвращает истину, потому что левый и правый операнды « истина ».

  • Второе выражение вернет false .

    Это потому, что один из операндов « false «. Как упоминалось ранее, оператор «И» требует, чтобы оба операнда были истинными .

Результаты ниже показывают, как JavaScript оценивал логический оператор AND ( && ) в обоих наших примерах.

Логический оператор ИЛИ (

|| ) в JavaScript

Используя оператор ИЛИ ( || ) в JavaScript, вы можете сравнить два операнда и вернуть true , если левый или правый операнд равен true .

Логический оператор ИЛИ написан на JavaScript, сначала указывается левый операнд, за которым следуют два символа вертикальной черты ( || ) и, наконец, правый операнд.

Чтобы понять логический вывод оператора ИЛИ, вы можете просмотреть таблицу ниже. В таблице ниже показано, что вернет оператор или ( || ) в зависимости от значения его операндов.

В этой таблице левый операнд будет называться « a », а правый операнд будет называться « b ».

Эта таблица показывает, что оператор ИЛИ возвращает true до тех пор, пока один из операндов равен true .

а б а || b
ложь ложь ложь
ложь правда правда
верно неверно верно
верно верно верно

Когда JavaScript выполняет логический оператор ИЛИ, он сначала проверяет левый операнд, чтобы увидеть, равен ли он правда . После этого он будет проверять правого оператора только в том случае, если левый операнд равен false .

Как и в случае с оператором AND, это поведение может быть полезно знать для оптимизации кода JavaScript.

Если у вас есть функция, которая возвращает быстро, вы можете использовать ее в качестве левого операнда, позволяя оператору ИЛИ быстро возвращаться, если значение равно true .

Пример оператора OR (
|| )

В приведенном ниже примере у нас есть три различных использования оператора OR. Мы быстро объясним результат каждого из этих выражений и почему.

  • В первом примере JavaScript вернет true .

    Оператор или удовлетворяется тем, что левый операнд является истинным. Хотя правый операнд также равен true , JavaScript не будет его проверять.

  • Следующий пример также вернет true .

    В то время как левый операнд равен false , правый операнд равен true , что удовлетворяет требованиям логического оператора ИЛИ.

  • Последний пример возвращает false , так как и левый, и правый операнд ложны.

Благодаря тому, что мы использовали функцию « console.log() », вы можете увидеть, как JavaScript оценивал каждое использование логического оператора ИЛИ.

Логический оператор НЕ (

! ) в JavaScript

Логический оператор НЕ в JavaScript ( ! ) позволяет проверить, не является ли значение истинным . Вы можете почти считать, что этот оператор возвращает инверсию любой логики, которая была возвращена.

Следует отметить, что этот логический оператор одновременно работает только с одним операндом. Если вы хотите получить инверсию нескольких операндов, вы должны использовать этот оператор для каждого из них.

Логический оператор НЕ написан в JavaScript с использованием восклицательного знака ( ! ), за которым следует ваш операнд.

В таблице ниже показано, как оператор НЕ возвращает true , когда операнд равен false . Он также вернет ложь когда операнд равен истина .

и ! a
ложь правда
правда ложь
90 202 Пример логического оператора НЕ ( ! ) в JavaScript

Чтобы продемонстрировать это, давайте напишем короткий пример показывая, что возвращает оператор NOT.

  • Первый пример вернет false, поскольку мы используем логический оператор НЕ для «истинного» значения.
  • Во втором примере оператор НЕ вернет true . Это потому, что мы используем его для значения « false ».

Ниже вы можете увидеть результаты наших выражений NOT, зарегистрированных в консоли.

Заключение

В этом руководстве мы показывали вам различные логические операторы, поддерживаемые JavaScript.

Теперь вы должны знать, как использовать в коде логические операторы НЕ, ИЛИ и И.

Пожалуйста, оставьте комментарий ниже, если у вас есть какие-либо вопросы о логических операторах.

Если вы хотите узнать больше о JavaScript, у нас есть множество других руководств. У нас также есть множество руководств, если вы хотите изучить новый язык программирования.

логических операторов в JavaScript | Реализация оператора И, ИЛИ и НЕ

Java-скрипт — это язык разработки внешнего интерфейса, который уже давно используется на веб-сайтах. Несмотря на то, что программисты могут выбирать из нескольких серверных языков, не существует альтернативного языка, разработанного в качестве замены сценария Java. Это было связано с его способностью управлять компонентами HTML, стилями CSS и данными в целом.

Понимание логических операторов

Существует три оператора: И, ИЛИ и НЕ. Их можно использовать либо в базе данных, либо в кодировании, и они очень пригодятся разработчикам при создании компонентов сложной логики или потока.

Как реализовать логические операторы в JavaScript?

Давайте немного подробнее разберемся с каждым из них, реализованным в Javascript.

1. Оператор ИЛИ в JavaScript

Оператор ИЛИ в JavaScript представлен в символической форме двумя вертикальными линиями. Например, давайте рассмотрим следующий пример:

Синтаксис

 результат = x || у; // то же, что и x OR y 
  • В типичном языке программирования логический оператор ИЛИ используется только для оценки нескольких логических переменных. Если какая-либо из его переменных истинна, то выражение оценивается и возвращает значение true, иначе оно вернет ложное значение.
  • Java-скрипт имеет очень мощную реализацию операторов ИЛИ. Давайте лучше разберемся с применением логического оператора ИЛИ на примере.

В основном может быть четыре логических комбинации логических значений, перечисленных ниже:

  1. True || Truei.e. Истинно «ИЛИ» Истинно // результат будет Истинно
  2. Ложь || True i.e False“OR” True// результат будет True
  3. Верно || False i.eTrue «ИЛИ» False// результат будет True
  4. Ложь || False i.eFalse“OR”False// результат будет True

Как показано выше, результат этой операции всегда будет истинным, если только один из операндов не является ложным. Давайте посмотрим на реализацию оператора OR в следующем примере:

Код:

 

<тело>
 

Java-скрипт ИЛИ оператор

Это пример для оператора ИЛИ

<скрипт> if ( true || false ) { // работает так же, как if( true || false ) document.getElementById("демо").innerHTML = "правда"; }

Вывод:

2.
Оператор AND в Javascript, обозначенный как &&

Оператор AND в Javascript представлен в символической форме двумя амперсандами &&.

Синтаксис

 var result = x && y; // эквивалентно x AND y 

Как и оператор ИЛИ, логический оператор И используется для оценки нескольких логических операндов. Если какая-либо из его переменных имеет значение false, то выражение оценивается и возвращает значение false, иначе оно вернет истинное значение. Давайте лучше разберемся с применением логического оператора AND на примере.

В принципе, с оператором И будет четыре логических комбинации логических значений, перечисленных ниже:

  1. Истина || True т. е. True «ИЛИ» True // результат будет True
  2. Ложь || True i.e False“OR” True // результатом будет False
  3. Верно || Ложь т.е. Истина «ИЛИ» Ложь // результатом будет Ложь
  4. Ложь || False i.e False“OR” False // результатом будет False

Как показано выше, результат этой операции всегда будет ложным, если только оба операнда не истинны. Давайте посмотрим на реализацию оператора AND в следующем примере:

Код:

 

<тело>
 

Оператор Java-скрипта AND

Это пример для оператора И

<скрипт> если (правда && ложь) { document.getElementById("demo1").innerHTML = "ложное значение"; } если (правда && правда) { document.getElementById("demo2").innerHTML = "истинное значение"; }

Вывод:

3. Оператор NOT в JavaScript Обозначается как !

Оператор НЕ в Javascript представлен в символической форме восклицательным знаком &&.

Синтаксис

 var результат = ! у; 

Подобно операторам ИЛИ и И, логический оператор И используется только для оценки нескольких логических операндов. Он используется для инвертирования значения операнда, поскольку он возвращает значение, противоположное предоставленному ему операнду. Давайте лучше разберемся с применением логического оператора НЕ на примере.

В принципе, с оператором НЕ было бы 2 логических возможности логических значений, которые перечислены ниже:

  1. ! True т. е. эквивалентно NOT True // конечным результатом будет логическое значение False, поскольку оно противоположно true
  2. ! False, т.е. эквивалентно NOT False // окончательный результат будет True Boolean значением, поскольку оно противоположно False

Как показано выше, результат этой операции всегда будет противоположен операнду, к которому была применена операция. Давайте посмотрим на реализацию оператора NOT в следующем примере:

Код:

  <тело>

Оператор Java-скрипт НЕ

Этот пример относится к логическому оператору NOT

<скрипт> если (правда || ложь) { вар результат = ложь; // определение переменной как false document.getElementById("demo1").innerHTML = ! результат ; //вывод переменной здесь будет истинным } если (правда && правда) { вар результат = истина; // определение переменной как истинной document.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *