Short Circuiting

In JavaScript, short-circuiting is a feature that checks conditions and stops as soon as it knows the answer. It doesn’t look for the rest of the expression, and that prevent unnecessary evaluations.

Short-Circuiting for && operator

Short circuit evaluation with &&(AND) logical operator means if the first expression evaluates to false then whole expression will be false and the rest of the expressions will not be evaluated.

Code-snippet

Below is an example snippet of short-circuiting with the && operator.

let x =0&&"hello";// x will be 0, as 0 is falsy and short-circuitslet y =true&&"world";// y will be "world" because the first value is truthylet z ="hello"&&"world";// z will be "world" because both values are truthy
console.log(x);// 0
console.log(y);// world
console.log(z);// world

Output

Following is the output of the above code

0
world
world

Short-Circuiting for || operator

Short circuit evaluation with ||(OR) logical operator means if the first expression evaluates to true then whole expression will be true and the rest of the expressions will not be evaluated.

Code-snippet

Below is an example snippet of short-circuiting with the || operator.

let x =0||"hello";// x will be "hello" because 0 is falsylet y =true||"world";// y will be true because the first value is truthylet z ="hello"||"world";// z will be "hello" because the first value is truthy
console.log(x);// hello
console.log(y);// true
console.log(z);// hello

Output

Following is the output of the above code

hello
true
hello

Short-Circuiting Assignment

Short-circuiting can be used in assignment operations as well. Means, if you have to assign something based on a condition, you can use short-circuiting.

Code-snippet

Below is an example snippet of short-circuiting in assignment operations.

let x =0;let y =10;let z = x || y;// z will be 10 because x is falsy
console.log(z);// 10

In above example, z will be assigned the value of y because x is falsy.

Output

Following is the output of the above code

10

Short-Circuiting in Function Calls

Short-circuiting can be used in function calls as well. Means, if you have to call a function based on a condition, you can use short-circuiting.

Code-snippet

Below is an example snippet of short-circuiting in function calls.

functiongreet(name){return name ||"Guest";}let x =greet("John");// x will be "John" because name is truthylet y =greet("");// y will be "Guest" because name is falsy
console.log(x);// John
console.log(y);// Guest

In above example, if name is truthy, it will return the name, otherwise it will return “Guest”.

Output

Following is the output of the above code

John
Guest

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *