JavaScript - Логические операторы
Здравствуйте, будущие маги JavaScript! Сегодня мы отправляемся в увлекательное путешествие в мир логических операторов. Не беспокойтесь, если вы новички в программировании - я буду вашим доброжелательным проводником, и мы будем исследовать эту тему шаг за шагом. К концу этого урока вы будете использовать логические операторы, как профессионал!
Логические операторы JavaScript
Логические операторы являются decision-makers программного мира. Они помогают нам принимать решения и контролировать поток нашего кода. В JavaScript у нас есть три основных логических оператора:
Оператор | Название | Описание |
---|---|---|
&& | AND | Возвращает true, если оба операнда истинны |
|| | OR | Возвращает true, если хотя бы один операнд истинен |
! | NOT | Изменяет布尔ское значение операнда на противоположное |
Давайте погрузимся в каждого из этих операторов и посмотрим, как они творят магию!
Логический оператор AND (&&)
Оператор AND (&&) похож на строгого родителя - он возвращает true только если оба его операнда истинны. Если один из операндов лжив, результат будет false.
Давайте рассмотрим несколько примеров:
let isAdult = true;
let hasID = true;
console.log(isAdult && hasID); // Вывод: true
let isTired = true;
let hasCoffee = false;
console.log(isTired && hasCoffee); // Вывод: false
В первом примере, и isAdult
, и hasID
истинны, поэтому результат - true. Это как decir, "Ты можешь войти в клуб, если тыadult AND у тебя есть ID." Оба условия должны быть выполнены.
Во втором примере, хотя isTired
истинен, hasCoffee
лжив, поэтому результат - false. Это как decir, "Я буду продуктивен, если я уставший AND у меня есть咖啡." Поскольку нет咖啡, продуктивности не будет!
Логический оператор OR (||)
Оператор OR (||) более снисходителен - он возвращает true, если хотя бы один из его операндов истинен. Он возвращает false только если оба операнда лживы.
Вот несколько примеров:
let hasCash = true;
let hasCard = false;
console.log(hasCash || hasCard); // Вывод: true
let isRaining = false;
let isSnowing = false;
console.log(isRaining || isSnowing); // Вывод: false
В первом примере, hasCash
истинен, поэтому даже несмотря на то, что hasCard
лжив, результат - true. Это как decir, "Ты можешь купить товар, если у тебя есть наличные OR карта." Имея одно из них, достаточно.
Во втором примере, и isRaining
, и isSnowing
лживы, поэтому результат - false. Это как decir, "Я останусь внутри, если идет дождь OR снег." Поскольку neither происходит, ты свободен выйти на улицу!
Логический оператор NOT (!)
Оператор NOT (!) - это бунтарь в этой компании - он переворачивает布尔ское значение своего операнда. Если что-то истинно, он делает это лживым, и vice versa.
Давайте посмотрим, как это работает:
let isSunny = true;
console.log(!isSunny); // Вывод: false
let isMonday = false;
console.log(!isMonday); // Вывод: true
В первом примере, isSunny
истинен, но !isSunny
лжив. Это как decir, "Это не солнечно," когда на самом деле это так.
Во втором примере, isMonday
лжив, но !isMonday
истинен. Это как庆祝, что это не понедельник!
Пр優cedence логических операторов
Как и в математике, логические операторы имеют порядок precedence. Вот как ониrank:
- NOT (!)
- AND (&&)
- OR (||)
Это означает, что NOT оценивается первым, затем AND, и finally OR. Давайте посмотрим пример:
let a = true;
let b = false;
let c = true;
console.log(a || b && !c); // Вывод: true
Вот как это оценивается:
- Сначала
!c
оценивается:!true
становитсяfalse
- Затем
b && false
оценивается:false && false
-false
- Наконец,
a || false
оценивается:true || false
-true
Таким образом, конечный результат - true.
Короткое замыкание
Короткое замыкание - это полезный трюк, который JavaScript использует для оптимизации логических операций. Это означает, что в некоторых случаях JavaScript не нужно оценивать все части логического выражения, чтобы определить результат.
Для оператора AND:
console.log(false && anything); // Вывод: false
В этом случае JavaScript знает, что если первый операнд лжив, все выражение будет лживым, поэтому он даже не утруждается оценкой anything
.
Для оператора OR:
console.log(true || anything); // Вывод: true
Здесь JavaScript видит, что первый операнд истинен, поэтому он знает, что все выражение будет истинным, regardless of что anything
является.
Это может быть真的很 полезно для избежания ошибок. Например:
let user = null;
console.log(user && user.name); // Вывод: null
Если user
null, JavaScript коротко замыкает и возвращает null, не пытаясь получить доступ к user.name
, что вызвало бы ошибку.
И вот и все,folks! Вы только что закончили свой ускоренный курс по логическим операторам JavaScript. Помните, эти крошечные символы - мощные инструменты в вашем наборе программирования. Они помогают вам принимать решения, контролировать поток вашего кода и даже предотвращать ошибки.
Пока вы продолжаете свое путешествие в JavaScript, вы будете использовать эти операторы все чаще и чаще. Не бойтесь экспериментировать с ними - это как вы действительно овладеете их использованием. Счастливого кодирования, и пусть ваши логические операции всегда дают ожидаемые результаты!
Credits: Image by storyset