Let's suppose that you have this function:
jsxconst sendMail = (recipient) => { // Result variable let res; // If exists the recipient, returns ok if(recipient) res = '👌'; // Returning the result return res; }
Applying ternary logic, the function can be translated as:
jsxconst sendMail = (recipient) => { // Result variable let res; // If exists the recipient, returns ok res = recipient ? '👌' : res; // Returning the result return res; }
Lastly, applying short circuit logic, the function can be translated as:
jsxconst sendMail = (recipient) => { // Result variable let res; // If exists the recipient, returns ok recipient && res = '👌'; // Returning the result return res; }
Short circuit logic is useful when the second condition of the ternary function returns null.
In the last case, the first condition is checked, in case recipient is true, second condition is checked and 👌 is assigned.
If first condition is false, second condition won't be checked and, therefore, 👌 won't be assigned.
Hi, I'm Erik, an engineer from Barcelona. If you like the post or have any comments, say hi.