hasBackpack равняется true. Можно идти в школу!
|| (ИЛИ)
Булев оператор || означает «или». Так его и следует называть — «или»,
или даже «или-или», хотя некоторые называют его «пайпс», поскольку
среди англоязычных программистов символ | зовется «пайп» («труба»).
Используйте оператор || с двумя булевыми значениями для проверки,
что как минимум одно из них равняется true.
Предположим, вы снова готовитесь идти в школу и хотите взять
с собой к обеду фрукты, причем вам неважно, будет это яблоко, или
апельсин, или и то и другое. С помощью JavaScript можно проверить,
есть ли у вас хотя бы один из этих плодов:
Has apple —
var hasApple = true;
есть яблоко
var hasOrange = false;
Has orange —
hasApple || hasOrange;
есть апельсин
true
42 Часть I. Основы
Выражение hasApple || hasOrange даст true, если либо
hasApple («взяли яблоко?»), либо hasOrange («взяли апельсин?»), либо
обе эти переменные имеют значение true. Однако если обе они равны
false, выражение даст false (то есть у вас с собой нет ни одного
фрукта).
! (НЕ)
Оператор ! означает «не» — так его и называйте. Используйте этот опе-
ратор, чтобы превратить false в true или, наоборот, true в false. Это
полезно для работы со значениями-противоположностями. Например:
Is weekend —
выходной
var isWeekend = true;
Need to shower
var needToShowerToday = !isWeekend;
today — нужно
needToShowerToday;
принять душ
false
сегодня
В этом примере мы установили переменную isWeekend («сейчас
выходной?») в true. Затем мы дали переменной needToShowerToday
(«сегодня нужно принять душ?») значение !isWeekend. Оператор ! пре-
образует значение в противоположное — то есть, если isWeekend равно
true, !isWeekend даст нам не true (то есть false). Соответственно,
запрашивая значение needToShowerToday, мы получаем false
(сегодня выходной, так что мыться совсем не обязательно).
Поскольку needToShowerToday равно false, !needToShowerToday
даст true:
needToShowerToday;
false
!needToShowerToday;
true
Иными словами, то, что вам не обязательно принимать сегодня
душ, — истина (true).
Совмещение логических операторов
Операторы дают больше возможностей, если использовать их совместно.
Допустим, вам нужно идти в школу, если сегодня не выходной, и вы при-
няли душ, и у вас с собой есть яблоко или апельсин. Вот как с помощью
JavaScript проверить, выполняются ли все эти условия:
var isWeekend = false;
var hadShower = true;
var hasApple = false;
2. Типы данных и переменные 43
var hasOrange = true;
Should go
var shouldGoToSchool = !isWeekend && hadShower && (hasApple ||
to school —
hasOrange);
нужно идти
shouldGoToSchool;
в школу
true
В данном случае сегодня не выходной, вы приняли душ, у вас нет
с собой яблока, зато есть апельсин — значит, нужно идти в школу.
Выражение hasApple || hasOrange записано в скобках, поскольку
нам важно убедиться, что эта проверка выполнена в первую очередь.
Точно так же как JavaScript выполняет умножение прежде сложения,
в логических выражениях он выполняет && прежде ||.
Сравнение чисел с помощью булевых значений
Булевы значения можно использовать для проверки чисел, если эта
проверка подразумевает простой ответ: да или нет. Например, пред-
ставьте, что вы работаете в парке развлечений, где один из аттрак-
ционов имеет ограничение: туда допускаются посетители ростом
не менее 150 см (иначе они могут вывалиться из кабинки!). Когда
кто-нибудь хочет прокатиться, он сообщает свой рост, и вам нужно
понять, больше названное число или меньше.
Больше
Чтобы узнать, больше ли одно число, чем другое, нужно использовать
оператор «больше» (>). Например, для проверки, что рост посети-
теля (155 см) больше, чем ограничение по росту (150 см), мы можем
задать переменной height (рост посетителя) значение 155, а пере-
менной heightRestriction (ограничение по росту) значение 150,
а затем использовать оператор > для сравнения двух переменных:
var height = 155;
Height —
var heightRestriction = 150;
высота
height > heightRestriction;
Height
true
restriction —
ограничение
по росту
Введя height > heightRestriction, мы просим JavaScript показать
нам, больше ли первое значение, чем второе, или нет. В данном случае
посетитель достаточно высок!
Но что если рост посетителя в точности равен 150 см?
var height = 150;
var heightRestriction = 150;
height > heightRestriction;
false
44 Часть I. Основы
Нет, посетитель недостаточно высок! Хотя если ограничение
по росту — 150 см, наверное, стоит пускать и тех, чей рост в точности
равен 150 см? Это нужно исправить. К счастью, в JavaScript есть еще
один оператор, >=, что означает «больше или равно».
Читать дальше
Конец ознакомительного отрывка
Купить книгу