Hacker News new | past | comments | ask | show | jobs | submit login
Javascript and semicolon insertion (inimino.org)
27 points by mnemonik on May 29, 2010 | hide | past | favorite | 12 comments



A horrible Javascript misfeature, second only to default global scope. I always use semicolons, but as the article notes even if you do that you still have to be aware of how automatic insertion works.


From the article, the only really nasty things are:

  [a].forEach(fn(){})
  [b].forEach(fn(){})
  // Parses as [a][b]

  return
  a+b
  // Parses as return;
You would have to work pretty hard to trigger the rest.

I'm curious about the speed trade offs from removing semicolons. You shrink the source code a little, but does the parser throwing exceptions all the time bump up execution time?


A parser would not normally handle this kind of thing with exceptions, and any cost would only be paid once, at parse time when building a syntax tree, not at execution time. Very few languages interpret text directly, rather than interpreting trees, as the trees are far easier to work with, more efficient, etc.


I realize this is not the forum for this, but hopefully it will serve as a warning to others: the linked article does not scroll on the iPhone (horiz or vert orientation).

"Cool" layouts are all fun and games, but usability is king.


It does but you have to use two fingers.


Yup, I only learned about this feature a few months ago. It also makes other apps like the standard Google Reader usable.


It seems to be an issue with the iPhone and iPad. Hopefully Apple will fix it, as I'm sure there are other sites with scrollable areas within a page.

If not, I'll probably find a workaround eventually.



Frames? Is it the 90s again?


No, there are no frames.


Every since I started using JSMin, I've needed to add semicolons after all my functions, which is something that I can't seem to remember to do as a habit.


this issue and the 'var' keyword are two of the reasons I feel Python is mostly a superior language. (Not necessarily completely, just overall.)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: