DEV Community

Jenuel Oras Ganawed
Jenuel Oras Ganawed

Posted on

2 2

Short-Circuit Evaluation

It is always awesome to use a quick way to write simple like ternary operator.

// example 1:
let x = 3;

let answer = x > 5 ? true : false; // false since 3 is less than 5

// example 2:
let y = [1,2,3];
let z = [4,5];

let answer = y.includes(5) ? (z.includes(5) ? true : false) : false; // true
Enter fullscreen mode Exit fullscreen mode

Ternary operator is good to use but not always. So javascript introduced a way to evaluate expressions. This are && (AND) and || (or).

How Does it Work?

1. && - this will return the first falsy value. If all are true, return the last value;

console.log(5 && 6 && null && false && 0);
/** 
result: null 
- because the null is the first `falsy`.
*/

console.log(true && 1 && 4); 
/** 
result: 4 
- because everything is `truthy`. 
*/

let a = [1,2,3].includes(3) && 5 && 'good';
/**
result: 'good'
- because everything is truthy
*/
Enter fullscreen mode Exit fullscreen mode

2. || - next is the || operator. Using || will return the first true or ‘truthy’ value. If every operand evaluates to false , the last evaluated expression will be returned.

console.log(5 || 6 || null || false || 0);
/** 
result: 5
- because the 5 is the first `truthy`.
*/

console.log(false || 6 || null || false || 0);
/** 
result: 6
- because the 6 is the first `truthy`.
*/

console.log(true || 1 || 4); 
/** 
result: true 
- because true is thruthy. 
*/

let a = [1,2,3].includes(3) || 5 || 'good';
/**
result: true
- because the first condition is truthy.
*/
Enter fullscreen mode Exit fullscreen mode

This is very useful to make conditional statement smaller. Something Like This:

    if (data) {
        return data;
    } else {
        return 'No Data';
    }
Enter fullscreen mode Exit fullscreen mode

can be converted to:

return (data || 'No Data');
Enter fullscreen mode Exit fullscreen mode

thanks for Reading Short Reads. If you like to donate, click the image.

Buymecoffee Donate to Bro Jenuel

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more