Search

Updated: Feb 14

# JavaScript Comparison and Logical Operators

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:

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

## Conditional (Ternary) Operator

JavaScript also contains a conditional operator that assigns a value to a variable based on some condition.

### Syntax:

variablename = (condition) ? value1:value2

### Example:

If the variable age is a value below 18, the value of the variable voteable will be "Too young", otherwise the value of voteable will be "Old enough".

## 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.

To secure a proper result, variables should be converted to the proper type before comparison:

age = Number(age);

if (isNaN(age)) {    voteable = "Input is not a number"; } else {   voteable = (age < 18) ? "Too young" : "Old enough"; }

for more visit other javascript category

Tel: (+91) 0120  4118730

Time :   10 : 00  AM -  08 : 00 PM IST