Логические операторы в JavaScript
Лекция про логические операторы
Логические выражения на языке JavaScript могут быть объединены, для использования в качестве проверки, например паролей. Возьмём к примеру проверку пароля при регистрации. Если мы хотим чтобы пароль был не менее 8 символов и более 20 то функция выполняющая такую проверку будет такой
const isStrongPassword = (password) => {
const length = password.length;
return length > 8 && length < 20;
};
isStrongPassword('qwerty'); // false
isStrongPassword('qwerty1234'); // true
isStrongPassword('zxcvbnmasdfghjkqwertyui'); // false
&& - означает «И». Все выражение считается истинным только в том случае, когда истинен каждый операнд — и слева и справа. Иными словами, && означает «и то, и другое».
Кроме &&, часто используется оператор || — «ИЛИ». Он означает «или то, или другое, или оба». Операторов И и ИЛИ может быть сколько угодно и их можно комбинировать в любом количестве и любой последовательности.
Приоритет операторов И и ИЛИ ниже чем приоритет операторов сравнения, поэтому при комбинировании лучше их ставить в скобки. Вот улучшенный пример для проверки пароля
const isStrongPassword = (password) => {
const length = password.length;
return length > 8 && (hasSpecialChars(password) || hasCapitalChars(password));
};
Ниже таблица истинности поведения оператора && И
(a, true) && (b, true) // ==> true
(a, true) && (b, false) // ==> false
(a, false) && (b, true) // ==> false
(a, false) && (b, false) // ==> false
И таблица истинности оператора || ИЛИ
(a, true) || (b, true) // ==> true
(a, true) || (b, false) // ==> true
(a, false) || (b, true) // ==> true
(a, false) || (b, false) // ==> false