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

Логические операторы обычно используются для выполнения операций булевой алгебры. Они часто применяются в сочетании с операторами сравнения для осуществления сложных сравнений с участием нескольких переменных в инструкциях if, while и for.

Логическое И (&&).При использовании с логическими операндами оператор && выполняет операцию логического И над двумя значениями: он возвращает true тогда и только тогда, когда первый и второй операнды равны true. Если один или оба операнда равны false, оператор возвращает false.

Реальное поведение этого оператора несколько сложнее. Он начинает работу с вычисления левого операнда. Если получившееся значение может быть преобразовано в false (если левый операнд равен null, 0, "" или undefined), оператор возвращает значение левого выражения. В противном случае оператор вычисляет правый операнд и возвращает значение этого выражения.

Следует отметить, что в зависимости от значения левого выражения этот оператор либо вычисляет, либо не вычисляет правое выражение. Иногда встречается код, намеренно использующий эту особенность оператора &&. Так, следующие две строки JavaScript-кода дают эквивалентные результаты:

if (a == b) stop();

(a == b) && stop();

Логическое ИЛИ (||).При использовании с логическими операндами оператор || выполняет операцию «логическое ИЛИ» над двумя значениями: он возвращает true, если первый или второй операнд (или оба операнда) равен true. Если оба операнда равны false, он возвращает false.

Хотя оператор || чаще всего применяется просто как оператор «логическое ИЛИ», он, как и оператор &&, ведет себя более сложным образом. Его работа начинается с вычисления левого операнда. Если значение этого выражения может быть преобразовано в true, возвращается значение левого выражения. В противном случае оператор вычисляет правый операнд и возвращает значение этого выражения.

Таблица 3 Значения логических выражений.

X Y X && Y X || Y
true true false false true false true false true false false false true true true false

 

Логическое НЕ (!).Оператор ! представляет собой унарный оператор, помещаемый перед одиночным операндом. Оператор инвертирует значение своего операнда. Так, если переменная a имеет значение true (или представляет собой значение, преобразуемое в true), то выражение !a имеет значение false. И если выражение p && q равно false (или значению, преобразуемому в false), то выражение !(p && q) равно true.

Обратите внимание, что можно преобразовать значение любого типа в логическое, применив этот оператор дважды: !!x.

 








Дата добавления: 2016-01-09; просмотров: 698;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.