Programming Language
JavaScript
Short Circuit

Short Circuit Evaluation in JavaScript

Introduction

Short circuit evaluation is a rule in JavaScript that helps decide the result of logical expressions (&& and ||). It checks values from left to right and stops as soon as the result is clear. This makes code shorter and faster.

  • It helps reduce extra checks.
  • It makes the code clean and simple.
  • It works with truthy and falsy values.

Short Circuiting with && (AND Operator)

The && operator stops when it finds the first falsy value. If all values are truthy, it returns the last one.

Example:

console.log(true && false); // false (stops at false)
console.log(true && true);  // true (both are true, so returns last value)
console.log(true && true && false); // false (stops at false)
console.log(false && true && true); // false (stops at false, does not check further)

Real-World Example:

const firstName = 'Pratap';
const midName = null;
const lastName = 'Das';
 
// Traditional way
if (firstName == null || midName == null || lastName == null) {
    console.log('There is a null value');
}
 
// Short circuit way
const firstNullValue = firstName && midName && lastName;
console.log(firstNullValue); // null (stops at midName, which is falsy)
 
if (firstNullValue == null) {
    console.log('There is a null value');
}
 
// Another short circuit method
if (!(firstName && midName && lastName)) {
    console.log('There is a null value');
}

Short Circuiting with || (OR Operator)

The || operator stops when it finds the first truthy value. If all values are falsy, it returns the last one.

Example:

console.log(true || false); // true (stops at first true value)
console.log(false || true); // true (stops at first true value)
console.log(false || false || true); // true (stops at first true value)
console.log(false || 0 || null); // null (no truthy value, returns last falsy value)

Real-World Example:

let username = '' || 'Guest';
console.log(username); // 'Guest' (since '' is falsy, 'Guest' is returned)
 
let userInput = null;
let userResponse = userInput || 'Default Response';
console.log(userResponse); // 'Default Response' (since null is falsy, uses fallback value)

Why is Short Circuiting Useful?

  • It reduces the need for if-else conditions.
  • It makes code cleaner and easier to read.
  • It is useful for setting default values and running conditions.

Understanding short circuit evaluation helps write better JavaScript code! 🚀