post/
Euphoria
February 1, 20222 min read
JavaScript
It always feels euphoric when I can write a block of code to a single line.
Take for example the following code:
if (confirm) {
saveUserSelection();
}
Nothing fancy. It's just an if
statement that calls a function when the value of confirm
is truthy. This snippet is probably common in handling user action in confirm dialogs.
The code can be written in one line as follows:
if (confirm) { saveUserSelection(); }
Just kidding hehe...
Ta-da!
confirm && saveUserSelection();
This is called "short-circuit evaluation". With short-circuit evalutation, the right side expression of the AND operator is evaluated only if the left side is truthy. Otherwise, it just returns the left side expression.
I really like this approach for it takes less effort in reading and writing. Not writing an if
statement means that I can save extra spaces, indentation and characters such as {
, }
, (
and )
. And saving characters means that I will only have to read minimal code and still be able to understand what the code is for.
This was once a topic on our team code review and I thought it might be good to write about it.
It might take some time to get used to this approach, especially in working on a team. But you'll get a hang of it by using it more often.
Another example could be:
loggedInUser && showProfileScreen() && updateUserAvatar();
Aight...