От автора: приветствую вас, друзья. В этой статье мы с вами познакомимся с еще одной группой операторов — это логические операторы в JavaScript. К этой группе относится три оператора, которые позволяют сравнивать значения как логические (булевы) типы.
Итак, вот эти три оператора: || (ИЛИ), && (И), ! (НЕ). К слову, последний оператор — восклицательный знак, нам уже даже знаком, мы его видели в качестве составного в операторе не равно (!= и !==). Но давайте по порядку.
Оператор ИЛИ (||). Данный оператор позволяет проверить два или более значений и, если любое из этих значений возвращает или может быть приведено к true (логическое ИСТИНА), тогда все условие вернет true. И несколько абстрактных примеров для понимания:
1 2 3 |
alert(true || false); // true alert(false || true); // true alert(false || false); // false |
Теперь давайте посмотрим более практический пример:
1 2 3 4 |
var password = '12345'; if(password == '123' || password == '12345' || password == '321'){ alert('Один из паролей подошел'); } |
В данном примере вторая проверка вернет true и все условие вернет true. При этом, когда часть условие вычисляется в true, после этого прочие части условия JavaScript даже не проверяет, поскольку достаточно лишь одного true (ИЛИ).
Следующий логический оператор — И (&&). В отличие от ИЛИ (||), оператор И требует, чтобы все проверяемые условия возвращали true. Если хотя бы одна часть условия вернет false, то и все условие целиком будет возвращать false. Возьмем предыдущий пример, заменив оператор ИЛИ оператором И:
1 2 3 4 5 6 |
var password = '12345'; if(password == '123' && password == '12345' && password == '321'){ alert('Один из паролей подошел'); }else{ alert('Какой-то пароль не подошел'); } |
В результате мы увидим alert из блока else. Достаточно просто, не так ли?
И последний логический оператор — НЕ (!). Здесь все также просто. Этот оператор попросту инвертирует логическое значение. Что это значит? А это значит, что данный оператор приводит выражение к логическому значению true или false, а затем меняет его на противоположное и возвращает. Простейший учебный пример, который должен пояснить работу оператора НЕ:
1 2 |
alert(!true); // false alert(!false); // true |
Здесь ничего приводить к логическому типу не нужно, поскольку мы итак уже использовали true и false, ну а оператор НЕ попросту инвертировал эти значения.
На этом мы завершаем статью. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!