Maybe I am not looking in the right place, but it has seemed bizarrely
difficult to determine what browser supports what, and what an
upcoming release will support. Mozilla's developer page says, plainly,
"Version xx supports 1.6 and here are the new features in 1.6 and how
to use them ... Version xx supports 1.7 and here are ..." etc. But
where is that for MSIE, Opera, Safari, ....?
Microsoft has its own brand name of ECMAScript implementation called
JScript and its own version numbering schema going from IE3 (the first
one with JScript support). The schema is not fully consistent, being
attached at different times either to major JScript update or to the
browser version number. See it at:
http://msdn.microsoft.com/en-us/library/2z6exc9e(VS.80).aspx
See also version vector details for conditional comments at
http://msdn.microsoft.com/en-us/library/2z6exc9e(VS.80).aspx
The current version for both IE6 and IE7 it is 5.6 with lesser-major
numbers different. On any IE just run
window.alert(''.concat(
ScriptEngineMajorVersion(), '.',
ScriptEngineMinorVersion(), '.',
ScriptEngineBuildVersion()
));
to see the exact numbers.
There is a gap left between 5.6 and 7 for upcoming upgrades, and the
next version number in use is 7.0 for JScript.NET but this engine is
server-side only so out of your interest I guess.
Other producers are using the original Netscape numbering schema with
JavaScript 1.0 for Netscape 2.x and JavaScript 1.5 being the current
industry standard de facto.
JavaScript 1.5 is pretty much equal to JScript 5.6 lesser some minor
algorithm implementations.
JavaScript 1.6 (Firefox 1.5) and JavaScript 1.7 (Firefox 2.0) are
Mozilla Foundation proprietary extensions of the base 1.5
Not all feature are backward compatible with 1.5, but any 1.5-
compliant program will run under 1.6 or 1.7
So overall you don't need to have any headache at all with versions
unless you want to use some of new Gecko-specific features.
Hope it helps.