JavaScript Logical Operator

Logical operator is one that compare two boolean operands and gives a boolean output. They are of high importance in computer science, especially in digital design and computer architectures.

They operands of logical operator could be constants, variables of all types and expressions involving comparison operators. First, we must understand the working of these logical operators.

Types of Logical Operators

There are three types of logical operators and they are:

Operator Description
&&Logical AND operator
||Logical OR operator
!Logical NOT operator

Now, out of these three, you must be familiar with logical not operator which is also a unary operator. To learn more about unary operators visit following link.

JavaScript Unary Operator

Let us try to understand each logical operator separately.

Logical AND operator

The logical AND operator takes two or more operands and convert them to equivalent boolean value and return true if all of them are true, otherwise, if at least one operand is false, the result is false.

You can understand the working of this operator with the help of a truth table. A truth table gives output for all combination of variable inputs.

XYOutput
TTT
TFF
FTF
FFF

The above is a two variable truth table for logical AND which shows that the output is true when all operands( X and Y) are true.

Example #1

//variable declaration 
var x = prompt("Enter value for X:");
var y = prompt("Enter value for Y:");
var z = prompt("Enter value for Z:");
var real_x = Number(x);
var real_y = Number(y);
var real_z = Number(z);
//Check greatest of all
if (real_x > real_y && real_x > real_z)
{
      alert("X is the greatest number");
} 
else if ( real_y > real_x && real_y > real_z)
{
        alert( "Y is the greatest number");
}
else if ( real_z > real_x && real_z > real_y)
{
       alert("Z is the greatest number");
}
else
{
            alert("Invalid Input! Numbers cannot be same");
}

Output #1

Input Value for X
Input Value for X
Input Value for Y
Input Value for Y
Input values for Z
Input values for Z
Output - Logical AND operator
Output – Logical AND operator

Logical OR operator

The logical OR operator takes two or more operands and convert them into their boolean equivalent. If either of the operands is true, the logical outcome is also true, otherwise it is false.

Here is the truth table for logical OR.

XYOutput
TTT
TFT
FTT
FFF

In the above truth table, the outcome is false, when both operands (X and Y) are false. The rest of the entries are true.

Example #2

In this example, we will check if a number is within the range 1000 to 5000 including both numbers.

//variable declarations
var x = prompt("Enter your number:");
var real_x= Number(x);
//check range
if ( x >= 1000 || x <= 5000)
{
     alert(" Valid Number");
}
else
{
     alert("Invalid Number");
}

Output #2

Input a number
Input a number
Output - Logical OR
Output – Logical OR( invalid number)
Input a Number ( Valid Number)
Input a Number ( Valid Number)
Output – Logical Or ( Valid Number)

Logical NOT operator

The logical not operator takes a single operand and inverse the boolean value of it. Note than every literal or constant in JavaScript has a true or a false value by default. Most of them are true, except a few that are called falsy.

Here is the truth table for NOT operator.

XOutput
TF
FT

Note that the number of rows corresponds to 2^n,where n is the number of operands.

Please support us by disabling your adblocker or whitelist this site from your adblocker. Thanks!

turn of adblocker imag