JavaScript Logical Operators
What Are Logical Operators?
Logical operators are used to perform boolean logic between two or more expressions. They return true or false based on the logic applied.
These operators are mostly used in conditional statements, loops, and decision-making processes.
Types of Logical Operators
Operator | Name | Description | Example | Output |
---|---|---|---|---|
&& | Logical AND | Returns true if both operands are true | true && true | true |
` | ` | Logical OR | Returns true if at least one is true | |
! | Logical NOT | Reverses the boolean value | !true | false |
1. Logical AND (&&)
Returns true only if both conditions are true.
let age = 25;
let hasID = true;
if (age >= 18 && hasID) {
console.log("Entry allowed");
} else {
console.log("Entry denied");
}
// Output: Entry allowed
More examples:
console.log(true && true); // Output: true
console.log(true && false); // Output: false
console.log(false && false); // Output: false
2. Logical OR (||)
Returns true if at least one of the conditions is true.
let isAdmin = false;
let isModerator = true;
if (isAdmin || isModerator) {
console.log("Access granted");
} else {
console.log("Access denied");
}
// Output: Access granted
More examples:
console.log(true || false); // Output: true
console.log(false || false); // Output: false
3. Logical NOT (!)
Reverses the boolean value — true becomes false, and vice versa.
let isLoggedIn = false;
if (!isLoggedIn) {
console.log("Please log in");
}
// Output: Please log in
More examples:
console.log(!true); // Output: false
console.log(!false); // Output: true
Logical Operators with Non-Boolean Values
JavaScript treats non-boolean values using truthy/falsy rules:
- Falsy values: 0, "" , null, undefined, NaN, false
- Truthy values: All others (non-zero numbers, non-empty strings, etc.)
console.log(0 && "Hello"); // Output: 0 (falsy value stops the
evaluation)
console.log("User" || "Guest"); // Output: "User" (truthy value
returns first match)
console.log(!0); // Output: true
Short-Circuit Behavior
- && stops at the first falsy value
- || stops at the first truthy value
let result1 = false && "Hello"; // false (short-circuits at false)
let result2 = true || "World"; // true (short-circuits at true)
console.log(result1, result2);
Use Case in Conditions
let age = 20;
let hasTicket = true;
if (age >= 18 && hasTicket) {
console.log("You may enter.
");
} else {
console.log("Access denied.
");
}
// Output: You may enter.
Recap
Operator | Meaning | Returns true When... |
---|---|---|
&& | AND | Both expressions are true |
` | ` | |
! | NOT | Expression is false |