This is why you should always use semicolons in JavaScript. Omitting semicolons here turns this:
var angry = say('Garrrr!')
// what should I say?
(amIHappy ? happy : angry)()
into this: var angry = say('Garrrr!')(amIHappy ? happy : angry)()