Replacing simple conditionals with logical AND (&&)

In JavaScript I often replace this:

if (simpleStatement) {

with this:

simpleStatement && doAThing();

What the second example does is take advantage of short-circuit evaluation. If simpleStatement is truthy it will execute doAThing function, if it’s falsy it would return false and proceed to the next line in code.

Using if conditional is probably easier to follow for a bigger number of people and there is rarely ever the need to choose code-golfing/simple/slick syntax over the most basic one but this one I love too much to let go.

I don’t use this synatx when simpleStatement is not a simple truthy/falsy evaluation but instead includes equality (===) or multiple chained statements. When if block would contain more than a single line function call or when there is a need for if else statement I would also opt-out from this approach.