1: ECMAScript 3 is what all current browsers support. ES5 is the new standard that is currently being adopted.
But that does not stop you from using most of the features of ES5 in modern browsers. It turns out that you can emulate most of them by adding functions to prototypes (for example, the string.trim function is quite simple to implement)
Update: as Reid noted in the comments, there is a good table describing ES5 compatibility in different browsers here
2: Node.js is apparently the most popular server-side javascript engine at the moment, but there are many of them.
There are several other servers that also run javascript on the server. MongoDB , for example, uses JSon to pass results back and forth, and the display / reduction functions must be written in JavaScript, which is then run on the server.
3: No, they all support the ES3 standard. They differ only in the API (the same language).
This means that although Google Chrome supports local storage, they do provide access to this function through JavaScript objects inside the DOM . In IE8, these objects simply do not exist and cannot be called.
Also: EcmaScript always refers to JavaScript, they simply cannot name standard JavaScript, because JavaScript is a trademark of Sun (a company that owns Java).
Tigraine
source share