Comparison Operators

Comparison and Logical operators are used to test for true or false

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 Example
== Equal to: true if the operands are equal 5==5; //true
!= Not equal to: true if the operands are not equal 5!=5; //false
=== Strict equal to: true if the operands are equal and of the same type 5==='5'; //false
!== Strict not equal to: true if the operands are equal but of different type or not equal at all 5!=='5'; //true
> Greater than: true if the left operand is greater than the right operand 3>2; //true
>= Greater than or equal to: true if the left operand is greater than or equal to the right operand 3>=3; //true
< Less than: true if the left operand is less than the right operand 3<2; //false
<= Less than or equal to: true if the left operand is less than or equal to the right operand 2<=2; //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 to buy alcohol";


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 ❯


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:

EXAMPLE ❯