5 ms·
WTF does this code do?
- sigvef 13y agoThis 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)()
- zequel 13y agoMost web browsers (if you're running this code in a web browser), will do ASI (automatic semicolon insertion). http://jsfiddle.net/CxUXh/ http://jsfiddle.net/CxUXh/ works fine in Chrome, changing the console.log to an alert. Not that I'm advocating omitting semicolons!
- benvan 13y agoInteresting - your jsfiddle exhibits broken behaviour (alerting 'garrr') on my browser - chrome 33.0.1750.152. I believe I'm fairly up to date.
- zequel 13y agoYou're correct, I thought that was expected behavior, my mistake. TBH though, I'm surprised ASI didn't fix the problem, I'll have to look at the rules for insertion again.
- rainmaking 13y agoHahaha, nice! I'm getting a linter.
- dismal2 13y agothis is idiotic
- dsschnau 13y agoDoes it return that because `say` isn't defined inside its own function definition, so it evaluates as false?
- TophWells 13y agoIt doesn't seem to do anything.