**Author:**
Michal Szymanski

Comparison and Logical operators are used to test for `true`

or
`false`

.

Comparison Operators

Comparison operators are used in logical statements to determine equality or difference between variables or values.

Given that `x = 5`

, the table below explains the comparison operators.

**So, if x = 5 then:**

Operator | Description | Comparing | Returns |
---|---|---|---|

== | equal to | x == 8 | false |

x == 5 | true | ||

x == "5" | true | ||

=== | equal value and equal type | x === 5 | true |

x === "5" | false | ||

!= | not equal | x != 8 | true |

!== | not equal value or not equal type | x !== 5 | false |

x !== "5" | true | ||

x !== 8 | true | ||

> | greater than | x > 8 | false |

< | less than | x < 8 | true |

>= | greater than or equal to | x >= 8 | false |

<= | less than or equal to | x <= 8 | true |

How Can it be Used

Comparison operators can be used in conditional statements to compare values and take action depending on the result:

```
if (age < 18) text = "Too young";
```

You will learn more about the use of conditional statements in the next chapter of this tutorial.

Logical Operators

Logical operators are used to determine the logic between variables or values.

Given that `x = 6`

and `y = 3`

, the table below explains the logical operators:

Operator | Description | Example |
---|---|---|

&& | and | (x < 10 && y > 1) is true |

|| | or | (x == 5 || y == 5) is false |

! | not | !(x == y) is true |

Comparing Different Types

Comparing data of different types may give unexpected results.

When comparing a string with a number, JavaScript will convert the string to
a number when doing the comparison. An empty string converts to 0. A non-numeric
string converts to `NaN`

which is always `false`

.

Case | Value |
---|---|

2 < 12 | true |

2 < "12" | true |

2 < "John" | false |

2 > "John" | false |

2 == "John" | false |

"2" < "12" | false |

"2" > "12" | true |

"2" == "12" | false |

When comparing two strings, "2" will be greater than "12", because (alphabetically) 1 is less than 2.

Exercises - test your knowledge

Exercise 1

Choose the correct comparison operator to alert `true`

, when `x`

is greater than
`y`

.

```
x = 10;
y = 5;
```

```
x = 10;
y = 5;
alert(x > y);
```

Exercise 2

Choose the correct comparison operator to alert `true`

, when `x`

is equal to `y`

.

```
x = 10;
y = 10;
```

```
x = 10;
y = 10;
alert(x == y);
```

Exercise 3

Choose the correct comparison operator to alert `true`

, when `x`

is NOT equal to
`y`

.

```
x = 10;
y = 5;
```

```
x = 10;
y = 5;
alert(x != y);
```

Previous lesson Next lesson

Spread the word: