Логические операторы в JS
Логические операторы используются вместе с ключевыми словами: for, if, while, do while и могут принимать только одно из двух значение true/false. Всего в JavaScript существуют три логических оператора: || (ИЛИ), && (И) и ! (НЕ). Рассмотрим на примерах, работу каждого из них.
Оператор || (ИЛИ)
Из двух булевых значение true/false оператор || (ИЛИ) всегда выберет истинное true. Из двух ложных значений, выберет ложное false. Проверим так ли это, выводя результаты в консоль.
console.log(true || true ); // true
console.log(true || false ); // true
console.log(false || true ); // true
console.log(false || false ); // false
Обычно в программировании оператор || (ИЛИ) используется вместе с условным оператором if для проверки истины у заданного условия. Но в JavaScript, применение данного оператора выходит за рамки традиционного. Даже если значение не является логическим типом данных, то оно все равно таковым станет для вычислительных целей. Например число 1 преобразуется в true, а 0, в false. В примере ниже, левая и правая часть идентичны.
if (1 || 0) // if (true || false)
Как сработает оператор || (ИЛИ), если по условию, в переменной должно оказаться одно из трех значений? Оператор вернет первое или последнее истинное значение.
let result = value 1 || value 2 || value 3;
На практике, оператор используется для вывода дефолтного значения, если с сервера не поступило никаких данных в переменную. И чтобы не оставлять просто пустое место на странице, проставляется дефолтное значение.
let value = object.property ||'default';
Оператор && (И)
Оператор && (И) вернет true, если оба значения истинны, во всех остальных случаях вернется false. Условие выполнится, если оба значения будут истиной.
console.log( true && true ); // true
console.log( false && true ); // false
console.log( true && false ); // false
console.log( false && false ); // false
Оператор && (И) вернет первое ложное значение или последнее, если ничего не найдено.
let result = value 1 && value 2 && value 3;
console.log( 1 && 0 ); // 0
console.log( 1 && 2 ); // 2
console.log( null && ); // null
Оператор ! (НЕ)
Оператор ! (НЕ) принимает один аргумент, который приводит к логическому типу true/false и возвращает противоположное значение. Здесь 0 преобразовался в false и вернул его антипод: true. Благодаря этой способности, двойное отрицание может использоваться, как приведение к логическому типу.
console.log( !true ); // false
console.log( !0 ); // true
Приоритет && (И), выше чем у || (ИЛИ), а приоритет у ! (НЕ) самый высокий среди всех логических операторов. В математическом выражении, он всегда будет выполняться в первую очередь. Для изменения порядка вычислений, необходимо переменные заключать в скобки. Так, как мы делаем в математике. Все три оператора используются при задании сложных условий. Любое значение в JavaScript может быть преобразовано в логическое true, за исключением следующих:
console.log(undefined); // false
console.log(null); // false
console.log(0); // false
console.log(NaN); // false
console.log(""); // false
Везде, где интерпретатор JavaScript ожидает получить логическое значение, любые значения автоматически будут преобразовываться в логические.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.