Книга: JavaScript. Подробное руководство, 6-е издание

3.3. Логические значения

3.3. Логические значения

Логическое значение говорит об истинности или ложности чего-то. Логический тип данных имеет только два допустимых логических значения. Эти два значения представлены литералами true и false.

Логические значения обычно представляют собой результат операций сравнения, выполняемых в JavaScript-программах. Например:

а == 4

Это выражение проверяет, равно ли значение переменной а числу 4. Если да, результатом этого сравнения будет логическое значение true. Если значение переменной а не равно 4, результатом сравнения будет false.

Логические значения обычно используются в управляющих конструкциях JavaScript. Например, инструкция if/else в JavaScript выполняет одно действие, если логическое значение равно true, и другое действие, если false. Обычно сравнение, создающее логическое значение, непосредственно объединяется с инструкцией, в которой оно используется. Результат выглядит так:

if (а == 4)
  b = b + 1;
else
  а = а + 1:

Здесь выполняется проверка равенства значения переменной а числу 4. Если равно, к значению переменной b добавляется 1; в противном случае число 1 добавляется к значению переменной а.

Как будет говориться в разделе 3.8, любое значение в языке JavaScript может быть преобразовано в логическое значение. Следующие значения в результате такого преобразования дают логическое значение (и затем работают как) false:

undefined
null
0
-0
NaN
// пустая строка

Все остальные значения, включая все объекты (и массивы), при преобразовании дают в результате значение (и работают как) true. Значениеfalse и шесть значений, которые при преобразовании приводятся к этому значению, иногда называют ложными, а все остальные - истинными. В любом контексте, когда интерпретатор JavaScript ожидает получить логическое значение, ложные значения интерпретируются как false, а истинные значения - как true.

В качестве примера предположим, что переменная о может хранить объект или значение null. В этом случае можно явно проверить значение переменной о на неравенство значению null, как показано ниже:

if (о !== null) ...

Оператор «не равно» !== сравнит переменную о со значением null и вернет в результате true или false. Однако вы можете опустить оператор сравнения и положиться на тот факт, что null является ложным значением, а объект - истинным:

if (о) ...

В первом случае тело инструкции if будет выполнено, только если значение переменной о не равно null. Во втором - ставится менее жесткое условие: тело инструкции if будет выполнено, только если о не содержит false или другое ложное значение (такое как null или undefined). Какая инструкция if больше подходит для вашей программы, зависит от того, какие значения могут присваиваться переменной о. Если в программе необходимо отличать значение null от 0 и "" , то следует использовать явную операцию сравнения.

Логические значения имеют метод toString(), который можно использовать для преобразования этих значений в строки «true» или «false», но они не имеют других полезных методов. Несмотря на простоту прикладного интерфейса, в языке имеется три важных логических оператора.

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

if ((х == 0 && у == 0) И !(z == 0)) {
// х и у содержат значение 0 или z не равна нулю
}

Полное описание этих операторов приводится в разделе 4.10.

Оглавление книги


Генерация: 0.340. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз