Главная страница » 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
в логических контекстах:
false
0
""
(пустая строка)null
undefined
NaN
Все остальные значения считаются истинными, включая любые объекты, массивы и строки, даже если они пусты.
Пример:
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 Все права защищены. CodeFor.