часть строки
To lower case
—
в нижний
регистр
2. Типы данных и переменные
41
fi rstCharacterUpper («Э») и restOfString, что дает нам искомую
строку
"Эй, как дела?".
Поскольку значения и переменные взаимозаменяемы, можно заме-
нить строки со по единственной строкой:
var sillyString = "эЙ, кАК деЛа?";
sillyString[0].toUpperCase() + sillyString.slice(1).
toLowerCase();
"
Эй, как дела?
"
Однако понять такой код сложнее, так что имеет смысл решать слож-
ные задачи вроде этой пошагово, с помощью переменных — по крайней
мере до тех пор, пока вы не привыкнете читать сложный код.
Булевы значения
Теперь поговорим о булевых значениях. В сущности, есть лишь два вари-
анта таких значений — это либо
true (истина), либо false (ложь).
Например, вот простое выражение с булевым значением:
var javascriptIsCool = true;
javascriptIsCool;
true
Здесь мы создали новую переменную с именем
javascriptIsCool
и присвоили ей булево значение
true. Следующей строкой мы запро-
сили содержимое
javascriptIsCool и, разумеется, получили true.
Логические операции
Подобно тому как числа можно объединять с помощью математических
операторов (+, −, *, / и других), булевы значения можно объединять
посредством булевых (логических) операторов. Результатом выражения,
составленного из булевых значений и булевых операторов, всегда будет
другое булево значение (либо
true, либо false).
Три основных булевых оператора — это
&&, || и !. Выглядят они
странновато, однако после небольшой практики пользоваться ими будет
несложно. Давайте познакомимся с ними поближе.
&& (И)
Оператор
&& означает «и». Вслух его называют «и», либо «и-и», либо «ампер-
санд-амперсанд» (амперсандом называется символ &). Используйте опе-
ратор
&& с двумя булевыми значениями, когда нужно узнать, равны ли
они оба
true.
Javascript
is cool
—
Javascript —
это круто
42
Часть I. Основы
Например, перед тем как пойти в школу, вы хотите убедиться, что
приняли душ, а также взяли рюкзак. Если оба эти условия истинны
(true), можно идти в школу, но если хоть одно ложно (false), вы еще
не готовы.
var hadShower = true;
var hasBackpack = false;
hadShower && hasBackpack;
false
Здесь мы устанавливаем переменную
hadShower («вы при-
няли душ?») в
true, а переменную hasBackpack («вы взяли
рюкзак?») в
false. Далее, вводя hadShower && hasBackpack,
мы спрашиваем JavaScript: «равны ли оба этих значения
true»? Поскольку это не так (рюкзак не в руках), JavaScript
возвращает
false (то есть вы не готовы идти в школу).
Давайте повторим попытку, установив на этот раз обе
переменные в
true:
var hadShower = true;
var hasBackpack = true;
hadShower && hasBackpack;
true
Теперь JavaScript сообщает нам, что
hadShower &&
hasBackpack равняется true. Можно идти в школу!
|| (ИЛИ)
Булев оператор || означает «или». Так его и следует называть — «или»,
или даже «или-или», хотя некоторые называют его «пайпс», поскольку
среди англоязычных программистов символ
| зовется «пайп» («труба»).
Используйте оператор
|| с двумя булевыми значениями для проверки,
что как минимум одно из них равняется
true.
Предположим, вы снова готовитесь идти в школу и хотите взять
с собой к обеду фрукты, причем вам неважно, будет это яблоко, или
апельсин, или и то и другое. С помощью JavaScript можно проверить,
есть ли у вас хотя бы один из этих плодов:
var hasApple = true;
var hasOrange = false;
hasApple || hasOrange;
true
Has apple
—
есть яблоко
Has orange
—
есть апельсин
Had shower
—
принял душ
Has backback
—
есть рюкзак
2. Типы данных и переменные
43
Выражение
hasApple || hasOrange даст true, если либо
hasApple («взяли яблоко?»), либо hasOrange («взяли апельсин?»), либо
обе эти переменные имеют значение
true. Однако если обе они равны
false, выражение даст false (то есть у вас с собой нет ни одного
фрукта).
! (НЕ)
Оператор ! означает «не» — так его и называйте. Используйте этот опе-
ратор, чтобы превратить
false в true или, наоборот, true в false. Это
полезно для работы со значениями-противоположностями. Например:
var isWeekend = true;
var needToShowerToday = !isWeekend;
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;
Is weekend
—
выходной
Need to shower
today
— нужно
принять душ
сегодня
|