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

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

JavaScript - Logical Operators

Логические операторы 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:

  1. NOT (!)
  2. AND (&&)
  3. OR (||)

Это означает, что NOT оценивается первым, затем AND, и finally OR. Давайте посмотрим пример:

let a = true;
let b = false;
let c = true;

console.log(a || b && !c); // Вывод: true

Вот как это оценивается:

  1. Сначала !c оценивается: !true становится false
  2. Затем b && false оценивается: false && false - false
  3. Наконец, 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