Possible Duplicate:
What are the rules for Javascript's automatic semicolon insertion?
I've also heard that Go insert them too, but they followed a different approach
How does Javascript insert semicolons while interpreting?
Any reference would be helpful
One of the biggest things I've found is, let's say you have a function that returns coordinates (or any object really), similar to this.
You would expect to get back an object right? WRONG! You get back undefined. The interpreter converts the code into this
Since
return
by itself is a valid statement. You need to be sure to write the return as followsThe example that taught me the pitfalls of this particular feature was this one in the "Strangest language feature?" question. (Which is why I was for reopening that question, by the way - it is a valuable learning resource.)
Good reference material can be found here: What are the rules for Javascript's automatic semicolon insertion?
Javascript assumes end of statement at any line break where it's possible. For example this:
is interpreted as:
turning the return and it's argument into two separate statements, which of course means that the function has no return value (returns undefined).
I wrote a blog entry about that a while back.