hellojs.ru
Главная - Основы JavaScript - Логические операторы

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

Размещено в категории "Основы JavaScript"
22.09.2024 / просмотров: 37 / комментариев: 0
Ресурсы:

Алгебра логики
Приоритет операторов
Задачи




Результатом логических операций является булевое значение (true или false).

В данном примере оба утверждения должны быть правдивы, поскольку используется оператор "и", если это так, то в совокупности вернётся true и выполнится какое-то действие
Код

const hamburger = true, fries = true;

if (hamburger && fries) {
  console.log('Я сыт!');
}

А вот в этом примере в совокупности результатом логической операции будет false, поскольку 0 в логическом контексте всегда вернёт false, а раз одно из условий не выполнено, то и в общем вернется false
Код

const hamburger = 5, // это вернет true
fries = 0; // это вернет false

if (hamburger && fries) {
  console.log('Я сыт!');
}

Цитата

В JavaScript всегда будут false следующие сущности:

0, undefined, null, NaN, '' пустая строка

Всё остальное будет true.

Зная вышенаписанное, можно условия записывать так:
Код

const hamburger = 2,
fries = 1; // вернёт true

if (hamburger === 3 && fries) {
  console.log('Все сыты!');
} else {
  console.log('Мы уходим');
}

В примере ниже в консоли мы уже увидим не булевое значение, а конкретные данные (в данном случае 0, поскольку оператор "и" возвращает первое ложное значение, то и выводится значение переменной cola)
Код

const hamburger = 3, // это true
fries = 1, // это true
cola = 0; // это false

console.log(hamburger === 3 && cola && fries); // 0

Оператор "и" всегда возвращает первое ложное значение, если оно есть, и далее код уже не идёт. Если все аргументы верны, код возвращает значение последнего аргумента.
Код

console.log(1 && 5); // 5
console.log(null && 0); // null

Оператор "или" возвращает последнее ложное значение, если все аргументы ложны. Если все аргументы истина, то возвращается первый истинный аргумент.
Код

console.log(0 || null || undefined); // undefined


Комбинации операторов



Разберём на примере:
Код

const hamburger = 3,
fries = 3,
cola = 0,
nuggets = 2;

if (hamburger === 3 && cola === 2 || fries === 3 && nuggets) {
  console.log('Все довольны');
} else {
  console.log('Мы уходим');
}


Примеры задач на операторы



Код

console.log( NaN || 2 || undefined ); // 2

console.log( NaN && 2 && undefined ); // NaN

console.log( 1 && 2 && 3 ); // 3

console.log( !1 && 2 || !3 ); // false

console.log( 25 || null && !3 ); // 25

console.log( NaN || null || !3 || undefined || 5); // 5

console.log( NaN || null && !3 && undefined || 5); // 5

console.log( 5 === 5 && 3 > 1 || 5); // true

Выполнится ли условие?
Код

const hamburger = 3;
const fries = 3;
const cola = 0;
const nuggets = 2;

if (hamburger === 3 && cola || fries === 3 && nuggets) {
  console.log('Done!');
} // Done!
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
Сайт управляется системой uCoz