I agree. In any somewhat functional language (I.e. all the mainstream ones) you can wrap "if" in a function if you please.
E.g.
function funif (b, f) {
return (b && f())
}
If you want to do clever stuff. I never feel the need as I would rather abstract over bigger things.