HTML and CSS Reference
In-Depth Information
The logical operators allow you combine the relational operators into more powerful
expressions for testing conditions and are most often used in
if
statements. They evalu-
ate their operands from left to right, testing the Boolean value of each operand in turn:
Does the operand evaluate to true or false? In the expression
if ( x > 5 && x < 10 ),
the
&&
is a logical operator. The expression simplified means, “if
x
is greater than 5 and
x
is also less than 10, then do something”; in the case of the logical AND (
&&
), if the first
expression returns
true
and the second expression also returns
true
, then the whole
expression is true. If instead of
&&
we used
||
, the operator means OR and only one of
the expressions must be true.
Sometimes the result of a test is not Boolean. When logical operators have numeric
operands, such as
5 && 6
, the result of the entire expression is evaluated from left to
right, and the value returned is that of the last expression. A numeric operand is true if
it evaluates to any number that is not zero.
5, -2,
and
74
are all true.
0
is false. For exam-
ple, when using the
&&
(AND) operator, both operands must be true for the whole
expression to be true. The value returned from an expression such as
5 && 6
is
6
, the
last value evaluated by the operator.
5
is not zero (true) and 6 is not zero (true), there-
fore, the expression is true. If the expression contained a 0 as in
5 && 0, 0 && 0
and
0 && 5
all yield
0
, which is false. Because the && operator wants all of its operands to
be nonzero values, as soon as the value 0 is encountered in the expression, 0 is the result
of the whole expression. See Table 5.11.
The three logical operators are the logical AND, logical OR, and logical NOT. The
symbol for AND is
&&
, the symbol for OR is
||
, and the symbol for NOT is
!
.
Table 5.11
Logical Operators and Their Functions
Operator/Operands
Function
num1 && num2
True, if
num1
and
num2
are both true. Returns
num1
if
num1
is false; otherwise returns
num2
. If operands are Boolean
values, returns
true
if
both
operands are true; otherwise
returns
false
.
num1 || num2
True, if
num1
is true
or
if
num2
is true.
! num1
Not
num1; true if
num1
is false; false if
num1
is true.
The
&&
Operator (Logical AND).
We l know the m aning of the En sh -
ment, “If you have the money
and
I have the time....” Whatever is supposed to happen
is based on two conditions, and both conditions must be met. You must have the money
and
I must have the time. JavaScript uses the symbol
&&
to represent the word AND.
This operator is called the logical AND operator. If the expression on the left side of the
&&
evaluates to zero, null, or the empty string “”, the expression is false. If the expres-
sion on the left side of the operator evaluates to true (nonzero), then the right side is
evaluated, and if that expression is also true, then the whole expression is true. If the left