Short but sweet,
https://community.bistudio.com/wiki/a_&&_b
What exactly is the purpose of having two different ways of using (a && b), one with and one without lazy eval.
More importantly, what exactly is the point in checking the second condition if the first condition clearly returns as false, the method or function will never execute if one condition is not met so why even waste the resources or slight performance strike to check?
Yes, I know that performance hits aren't big for small tasks, but that doesn't mean absolutely pointless things should exist and be worked around.