Datasheet

Chapter 1: What Is JavaScript?
5
What Does ECMAS cript Conformance Mean?
ECMA - 262 lays out the definition of ECMAScript conformance. To be considered an implementation
of ECMAScript, an implementation must do the following:
Support all types, values, objects, properties, functions, and program syntax and semantics
(ECMA - 262, p. 1) as they are described in ECMA - 262.
Support the Unicode character standard.
Additionally, a conforming implementation may do the following:
Add additional types, values, objects, properties, and functions that are not specified in
ECMA - 262. ECMA - 262 describes these additions as primarily new objects or new properties of
objects not given in the specification.
Support program and regular expression syntax that is not defined in ECMA - 262 (meaning
that the built - in regular - expression support is allowed to be altered and extended).
These criteria give implementation developers a great amount of power and flexibility for developing
new languages based on ECMAScript, which partly accounts for its popularity.
ECMAS cript Support in Web Browsers
Netscape Navigator 3 shipped with JavaScript 1.1 in 1996. That same JavaScript 1.1 specification was
then submitted to Ecma as a proposal for the new standard, ECMA - 262. With JavaScript ’ s explosive
popularity, Netscape was very happy to start developing version 1.2. There was, however, one problem:
Ecma hadn t yet accepted Netscape ’ s proposal.
A little after Netscape Navigator 3 was released, Microsoft introduced Internet Explorer 3. This
version of IE shipped with JScript 1.0, which was supposed to be equivalent to JavaScript 1.1. However,
because of undocumented and improperly replicated features, JScript 1.0 fell far short of JavaScript 1.1.
Netscape Navigator 4 was shipped in 1997 with JavaScript 1.2 before the first edition of ECMA - 262 was
accepted and standardized later that year. As a result, JavaScript 1.2 is not compliant with the first
edition of ECMAScript even though ECMAScript was supposed to be based on JavaScript 1.1.
The next update to JScript occurred in Internet Explorer 4 with JScript version 3.0 (version 2.0 was
released in Microsoft Internet Information Server version 3.0 but was never included in a browser).
Microsoft put out a press release touting JScript 3.0 as the first truly ECMA - compliant scripting language
in the world. At that time, ECMA - 262 hadn t yet been finalized, so JScript 3.0 suffered the same fate as
JavaScript 1.2: it did not comply with the final ECMAScript standard.
Netscape opted to update its JavaScript implementation in Netscape Navigator 4.06 to JavaScript 1.3,
which brought Netscape into full compliance with the first edition of ECMA - 262. Netscape added
support for the Unicode standard and made all objects platform - independent while keeping the features
that were introduced in JavaScript 1.2.
When Netscape released its source code to the public as the Mozilla project, it was anticipated that
JavaScript 1.4 would be shipped with Netscape Navigator 5. However, a radical decision to completely
redesign the Netscape code from the bottom up derailed that effort. JavaScript 1.4 was released only as a
server - side language for Netscape Enterprise Server and never made it into a web browser.
c01.indd 5c01.indd 5 12/8/08 11:21:51 AM12/8/08 11:21:51 AM