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

В языке программирования JavaScript есть пять логических операторов || (или), && (и), ! (не), менее известный ?? оператор нулевого слияния, который еще относят к частному случаю оператора || (или) и тернарный оператор. Логические операторы используются для комбинирования булевых значений — true (истина) и false (ложь) и часто применяются в сочетании с операторами отношений (>, >=, true либо false .
Если значение равно 0, -0, null, false, NaN, undefined или «» (пустая строка) — результат false . Все остальное, включая строку «false» — результат true .
Остановимся подробнее на операторах || (или), && (и) и ! (не)
Логическое И &&
&& (двой знак амперсанда) — это бинарный оператор, который представляет собой логически «и» и принимает значение true только в том случае, когда оба операнда истинны, в противном случае false .
Рассмотри результат при каждой возможной логической комбинации.
Пример №1
Пример №2
При необходимости можно передать и больше условий && (и)
Пример №3
В качестве операнда && допускаются любые другие значения
Пример №4
В случае, когда операторов && несколько:
- вычисление идет слева направо;
- операнды принимают значение true или false ;
- если операнд false сравнение останавливается, а результат — значение этого операнда;
- если все значения true , тогда возвращается последний операнд;
- если возвращаемый операнд не является булевым — результат значение операнда.
Если сказать по другому результат — это значение первого false или последнего операнда.
Пример №5
Приоритет у && (и) выше чем у || (или), таким образом сначала выполнить сравнение в левой и правой части выражения.
Логическое ИЛИ ||
|| (двойная вертикальная черта) — это бинарный оператор, который представляет собой логическое «или» и принимает значение true в том случае, когда все или одно из значений операндов истинно, в противном случае false .
Рассмотри результат при каждой возможной логической комбинации.
Пример №6
Пример №7
При необходимости можно передать и больше условий || (или).
Пример №8
В качестве операнда || допускаются любые другие значения.
Пример №9
В случае, когда операторов || несколько:
- вычисление идет слева направо;
- операнды принимают значение true или false ;
- если операнд true сравнение останавливается, а результат — значение этого операнда;
- если все значения false , тогда возвращается последний операнд;
- если возвращаемый операнд не является булевым — результат значение операнда.
Если сказать по другому результат — это значение первого true или последнего операнда.
Пример №10
В результате «сокращенного вычисления» (когда вычисления заканчиваются, если результат уже известен) с помощью || (или), можно реализовывать и такие конструкции. В данном примере это своеобразная замена if , которая может быть удобна в определенных случаях.
Логическое НЕ !
! (восклицательный знак) — это унарный оператор, который располагается перед операндом и приводит аргумент к логическому true или false , а затем возвращает противоположное значение.
В свою очередь двойное отрицание !! используется для приведения значения к логическому типу.
Эквивалентом такой конструкции служит встроенная функция Boolean
Логически оператор ! имеет более высокий приоритет, нежели || и && , поэтому при необходимости сделать отрицание выражения, конструкцию нужно брать в скобки.
Итого
В данном уроке мы подробно рассмотрели логические операторы:
- && (и) — возвращает true , когда оба операнда true , в противном случае false ;
- || (или) — возвращает false , если два операнда false , во всех остальных случаях true ;
- ! (не) — возвращает true , если значение операнда false и наоборот;
Из этих трех операторов наивысший приоритет исполнения имеет ! (не), затем && (и) и только потом || (или).
Что означает восклицательный знак перед вызовом функции?
if (m == feb && d == 29 && !leapyear(y + n))
что означает восклицательный знак пере функцией липиеар?
Добавлено через 5 минут
если функция НЕ выполняется? или если результат неправильный, то условие срабатывает
Что означает знак & в объявлении функции
Здравствуйте, в обучающих статьях о С++ наткнулся на очень интересную синтаксическую конструкцию.
перед именем функции? И что он значит вообще?
Что значит восклицательный знак перед функцией?
Обьясните пожалуйста, что значит восклицательный знак: !function(). И ещё вопрос: как.
Что означает восклицательный знак после "uptime"
Сегодня в Htop’e заметил "!" после uptime’a что это значит?
Сообщение от kusancho
jugu, да. Условие в скобочках будет выполняться если leapyear() вернет ЛОЖЬ?
Добавлено через 3 минуты
analogov net,
Сообщение от analogov net
Сообщение было отмечено kusancho как решение
Решение
Сообщение от kusancho
Сообщение от kusancho
В тексте перед словом, начинающимся с заглавной буквы, поставить восклицательный знак
Добрые люди помогите решить задачуку.Очень надо.ЗАРАНИЕ БЛАГОДАРЮ. В тексте перед словом.
Что означает знак амперсанда (&) в определении функции
Накнулся на такую функцию: // this simulates magic_quotes_gpc = 0. // Hope it works! function.
Что означает % перед аргументом функции?
Что означает % перед аргументом функции? Вот где я это встретил: Test4::MyForm form;.
В тексте перед каждым предложением, в котором встречается заданное слово, поставить восклицательный знак "!"
В тексте перед каждым предложением, в котором встречается заданное слово, поставить восклицательный.
Что означает null! (null с восклицательным знаком)?
Встретил в C# коде такое выражение в контексте работы с БД через EF:
Что означает равенство свойства null с восклицательным знаком?
Это фича из c# 8.0, где ввели Nullable Reference types
Т.е. раньше вы писали String или string и было понятно, что string — это ссылочный тип, а потому может быть null (в отличие допустим от int, которому не присвоить null)
А начиная с c# 8 вы можете указать компилятору при помощи NullableContextOptions = enable что string в коде и другие ссылочные типы не могут принимать null.
И вот как раз восклицательный знак после null — это т.н. null-forgiving оператор, который позволяет указать что значение null допустимо.
Больше информации по теме:
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.21.43333
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Что означает восклицательный знак в программировании
Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
статьи IT, Уроки по си шарп, си шарп, операторы
TrueMethod |
Посмотреть профиль |
Найти ещё сообщения от TrueMethod |
TrueMethod |
Посмотреть профиль |
Найти ещё сообщения от TrueMethod |
«if(!RegisterClassEx(&windowscl ass) )» можно так прочесть: |
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr.
Q: Whats the object-oriented way to become wealthy?
A: Inheritance
TrueMethod |
Посмотреть профиль |
Найти ещё сообщения от TrueMethod |
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке — https://slurm.club/3MeqNEk