if(foo)
doX()
doY() if(foo)
doX()
doY()if(foo) doX() doY();
Intuitively, as a someone who uses C style languages, this becomes:
if(foo) doX(); doY();
Can someone confirm which intuition is correct?
I ask because, to me: it not being intuitive is a problem--even if it is not classified as ambiguous.
It being only contextually intuitive, also seems somewhat problematic--but maybe excusable if it is assumed you know some similar language going into it and it behaves similarly to that other language.
if(x)
return
"foo"
return callback
(1,2,3,4) if(x)
return
"foo"
clearly there's a bug there, but adding in semicolons wouldn't change the code's behavior. So it doesn't affect the "is it bad to omit semicolons?" debate either way. if(y) return
"bar"
The linter will tell you there should be a semicolon, and you are like, - no it shouldn't.