Главная страница » JavaScript » 51. Результат логических выражений
Логические выражения в JavaScript позволяют вам принимать решения в коде на основе определённых условий. В этом уроке мы рассмотрим, какие результаты могут возвращать логические выражения, как эти результаты интерпретируются, и как их можно использовать для управления потоком выполнения программы.
В JavaScript есть три основных логических оператора:
&&) — возвращает true, если оба операнда истинны.||) — возвращает true, если хотя бы один из операндов истинен.!) — инвертирует логическое значение.&& (AND)Оператор && возвращает значение первого ложного операнда или значение последнего операнда, если все операнды истинны.
Пример:
console.log(true && false); // false
console.log(true && true); // true
console.log(1 && 0); // 0 (первый ложный операнд)
console.log(1 && 2); // 2 (оба истинны, возвращает последний)
|| (OR)Оператор || возвращает значение первого истинного операнда или значение последнего операнда, если все операнды ложны.
Пример:
console.log(false || true); // true
console.log(false || false); // false
console.log(0 || 2); // 2 (первый истинный операнд)
console.log(null || "hello"); // "hello" (первый истинный)
! (NOT)Оператор ! возвращает противоположное логическое значение.
Пример:
console.log(!true); // false
console.log(!false); // true
console.log(!0); // true (0 - ложное значение)
console.log(!""); // true (пустая строка - ложное значение)
console.log(!1); // false (1 - истинное значение)
В JavaScript есть понятия «ложных» (falsy) и «истинных» (truthy) значений. Ложные значения — это значения, которые приводятся к false в логических контекстах:
false0"" (пустая строка)nullundefinedNaNВсе остальные значения считаются истинными, включая любые объекты, массивы и строки, даже если они пусты.
Пример:
if (0) {
console.log("Это не выполнится");
}
if ("") {
console.log("И это не выполнится");
}
if ("hello") {
console.log("Это выполнится");
}
Логические выражения часто используются в условиях if, чтобы определить, должно ли выполняться определённое действие.
Пример:
let age = 18;
if (age >= 18 && age < 65) {
console.log("Вы совершеннолетний");
} else {
console.log("Вы не подходите по возрасту");
}
В этом примере оператор && проверяет, находится ли возраст в пределах от 18 до 65 лет включительно.
Неправильное использование оператора && или ||
Иногда можно перепутать порядок операндов, что приведёт к неверным результатам.
Ошибка:
let isLoggedIn = false;
let isAdmin = true;
if (isLoggedIn && isAdmin) {
console.log("Добро пожаловать, администратор!");
} else {
console.log("Доступ запрещён");
}
Здесь проверка админа (isAdmin) не имеет смысла, если пользователь не залогинен.
Исправление:
if (isLoggedIn && isAdmin) {
console.log("Добро пожаловать, администратор!");
} else if (isLoggedIn) {
console.log("Добро пожаловать, пользователь!");
} else {
console.log("Доступ запрещён");
}
Забытое отрицание (!)
Отрицание может быть пропущено, что приведёт к неправильной логике.
Ошибка:
let isEmpty = false;
if (isEmpty) {
console.log("Массив пустой");
} else {
console.log("Массив содержит элементы");
}
Здесь логика обратная, так как переменная isEmpty равна false.
Исправление:
if (!isEmpty) {
console.log("Массив содержит элементы");
} else {
console.log("Массив пустой");
}
Ошибочное приведение типов
Иногда сравнение значений без приведения типов может привести к неожиданным результатам.
Ошибка:
let value = "0";
if (value == false) {
console.log("Значение равно false");
}
Исправление:
Используйте строгое сравнение (===), чтобы избежать приведения типов:
if (value === false) {
console.log("Значение равно false");
}
Результаты логических выражений в JavaScript играют важную роль в управлении логикой программы. Понимание того, как работают операторы &&, || и !, а также знание разницы между «истинными» и «ложными» значениями, поможет вам писать более надёжный и предсказуемый код.
Напишите функцию isBetween, которая принимает три числа: value, min, max. Функция должна возвращать true, если value находится в диапазоне от min до max включительно, и false в противном случае.
function isBetween(value, min, max) {
return value >= min && value <= max;
}
console.log(isBetween(5, 1, 10)); // true
console.log(isBetween(0, 1, 10)); // false
Создайте функцию isFalsy, которая принимает значение и возвращает true, если оно ложное, и false, если истинное.
function isFalsy(value) {
return !value;
}
console.log(isFalsy(0)); // true
console.log(isFalsy(1)); // false
Напишите функцию isAdult, которая принимает возраст и возвращает true, если возраст больше или равен 18, и false в противном случае.
function isAdult(age) {
return age >= 18;
}
console.log(isAdult(20)); // true
console.log(isAdult(16)); // false
Эти задания помогут вам лучше разобраться с результатами логических выражений и их применением в JavaScript.
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
Язык сайта: