- Asynchronous JS is not just some new quirky thing, but a commonplace practice. We don’t even call this sort of thing Web 2.0 – we just call it the web. Users are now accustomed to interfaces that are dynamic and do not require reloads.
- We have a body of mature JS frameworks that streamline web development. Things like jQuery or Prototype abstract a lot of the hairy, browser dependent busywork and boilerplate code, and encapsulate a lot of what was invented in the Web 2.0 craze into simple function calls.
- The IE team at Microsoft actually gives a shit about standards and competitive JS performance. The fact that IE9 actually doesn’t suck completely blows my mind. To put it in perspective you have to remind yourself that Microsoft kept IE at version 6 for 8 years during which they didn’t do any development on the browser other than routine bug-fixes.
- HTML 5 is actually making the web more dynamic and JS more relevant and more useful than ever. From now on, web designers will be able to rely on web browsers to implement things like local storage without the need for kludges like GoogleGears, and will be able to do real concurrency with natively implemented web workers.
- the lack of block scope
- quirks with the eval function
- fucntion hoisting
- strings being kinda arrays, but not really