[–] sigvef 12y ago ↗ 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)()
[–] zequel 12y ago ↗ Most web browsers (if you're running this code in a web browser), will do ASI (automatic semicolon insertion).http://jsfiddle.net/CxUXh/ works fine in Chrome, changing the console.log to an alert.Not that I'm advocating omitting semicolons! [–] benvan 12y ago ↗ Interesting - your jsfiddle exhibits broken behaviour (alerting 'garrr') on my browser - chrome 33.0.1750.152. I believe I'm fairly up to date. [–] zequel 12y ago ↗ You'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.
[–] benvan 12y ago ↗ Interesting - your jsfiddle exhibits broken behaviour (alerting 'garrr') on my browser - chrome 33.0.1750.152. I believe I'm fairly up to date. [–] zequel 12y ago ↗ You'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.
[–] zequel 12y ago ↗ You'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.
[–] dsschnau 12y ago ↗ Does it return that because `say` isn't defined inside its own function definition, so it evaluates as false?
8 comments
[ 3.6 ms ] story [ 25.7 ms ] threadhttp://jsfiddle.net/CxUXh/ works fine in Chrome, changing the console.log to an alert.
Not that I'm advocating omitting semicolons!
I'm getting a linter.