>а == 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», но они не имеют других полезных методов. Несмотря на простоту прикладного интерфейса, в языке имеется три важных логических оператора.