Comparison and Logical Operators
Use this article as a reference sheet for JavaScript comparison and logical operators.
- Comparison operators — operators that compare values and return
true
orfalse
. The operators include:>
,<
,>=
,<=
,===
, and!==
. - Logical operators — operators that combine multiple boolean expressions or values and provide a single boolean output. The operators include:
&&
,||
, and!
.
Comparison Operators
You may be familiar with comparison operators from math class. Let’s make sure there aren’t any gaps in your knowledge.
- Less than (
<
) — returnstrue
if the value on the left is less than the value on the right, otherwise it returnsfalse
. - Greater than (
>
) — returnstrue
if the value on the left is greater than the value on the right, otherwise it returnsfalse
. - Less than or equal to (
<=
) — returnstrue
if the value on the left is less than or equal to the value on the right, otherwise it returnsfalse
. - Greater than or equal to (
>=
) — returnstrue
if the value on the left is greater than or equal to the value on the right, otherwise it returnsfalse
. - Equal to (
===
) — returnstrue
if the value on the left is equal to the value on the right, otherwise it returnsfalse
. - Not equal to (
!==
) — returnstrue
if the value on the left is not equal to the value on the right, otherwise it returnsfalse
.
Logical Operators
Comparison operators allow us to assert the equality of a statement with JavaScript. For example, we can assert whether two values or expressions are equal with ===
, or, whether one value is greater than another with >
.
There are scenarios, however, in which we must assert whether multiple values or expressions are true. In JavaScript, we can use logical operators to make these assertions.
&&
(and) — This operator will be truthy (act liketrue
) if and only if the expressions on both sides of it are true.||
(or) — This operator will be truthy if the expression on either side of it is true. Otherwise, it will be falsy (act likefalse
).
In the example above, we check if the stringvar isTrue = ('yellow' === 'green') && (4 >= 4);'yellow'
is equal to the string'green'
and (&&
) if4
is greater than or equal to4
. Let’s break this down into the two comparison expressions.- The first expression is false, because the string
'yellow'
is not the same (equal) as the string'green'
. - The second expression is true, because the number
4
is greater than or equal to4
.
The &&
operator requires that both expressions be true in order for the expression to be truthy. Because one expression is false and the other is true, the expression is falsy and evaluates to false
.