One of JavaScript’s worst features is Automatic Semicolon Insertion.
return; // a semicolon is implicitly inserted here
And this part is almost valid JavaScript, but not quite, so you get a syntax error:
{
someMethod : myMethod,
someOtherMethod : myOtherMethod
};
If you had tried to do this:
return
[ 1, 2, 3,
4, 5, 6,
7, 8, 9 ];
it would have just returned undefined
all the time, and that would have been bad. ASI sucks, but we’re stuck with it now, especially since semicolonless code has become a fad.
What does this do?
return a
+ b
+ c;
This?
return e
/ f /g;
Okay, okay, maybe that one’s a bit contrived, and maybe this isn’t entirely topical. But ASI is bad. I hope everyone gets that.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…