|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
ECMAScript is a programming language, developed and maintained as an international standard under the auspices of the Technical Committee (TC) 39 of Ecma International and published openly as ECMA-262 (ECMAScript Language Specification) in a series of editions, beginning in June 1997. [Note: Ecma International was formerly the European Computer Manufacturers Association and known by its acronym, ECMA; names for ECMA standards continue to use the upper-case form.] Technically identical specifications for ECMAScript were published as ISO/IEC 16262 in 1998, 2002, and 2011. To facilitate an annual update cycle for the language, ISO/IEC 22275 (ECMAScript Specification Suite) was published in 2018 to incorporate updated editions of ECMA-262 by reference.
An Overview of the ECMAScript language is provided in the standard and includes an important statement, emphasized in bold in the following extract:
ECMAScript has evolved to support scripting capabilities in a variety of contexts, including:
Importantly, the ECMAScript specification has an annex (Annex B: Additional ECMAScript Features for Web Browsers) that lists legacy features. The purpose of the annex is to describe "various legacy features and other characteristics of web browser based ECMAScript implementations. All of the language features and behaviours specified in this annex have one or more undesirable characteristics and in the absence of legacy usage would be removed from this specification. However, the usage of these features by large numbers of existing web pages means that web browsers must continue to support them. The specifications in this annex define the requirements for interoperable implementations of these legacy features." A guiding principle for TC39 is “Don’t Break the Web”. See A Year (plus a little) on TC39 (January 2019) by Aki Rose.
|Relationship to other formats|
|Used by||HTML_family, HyperText Markup Language (HTML) Format Family|
|LC preference||The Library of Congress collects scripting files and embedded ECMAScript code only as supplementary to other content, such as documents in HTML or PDF formats. No preference is expressed for such supplementary resources in its Recommended Formats Statement.|
|Disclosure||An openly published international standard, developed under the auspices of Ecma Technical Committee (TC) 39. The first edition of the ECMAScript standard (ECMA-262) was adopted by the Ecma International General Assembly in June 1997. Since 2015, when the 6th edition was published, TC39 has published a new edition each year, using a multi-stage process to guide the evolution of the language. A working draft and proposals for new features are publicly available.|
The latest published version of the ECMAScript Language Specification can be found as ECMA-262. Earlier versions are available from https://www.ecma-international.org/publications/standards/Ecma-262-arch.htm. A working draft for the next version is available at https://tc39.es/ecma262/.
For versions published as ISO/IEC 16262, see Format Specifications below.
Examples of adoption of ECMAScript in non-browser contexts include: ECMAScript for PDF; ECMAScript for XML (E4X); JScript for .NET; in embedded systems (in the Internet Of Things) [see TC53 - ECMAScript Modules for Embedded Systems]. Comments welcome.
|Licensing and patents||No concerns. Covered by Ecma International Royalty-Free Patent Policy. See also Ecma Code of Conduct in Patent Matters.|
|Self-documentation||The only method for describing the intended function of ECMAScript source code or its authorship and provenance is via comments embedded in the code. However, comments are often removed from the original source code as part of "minification" to reduce the size of the code and make network transfer and execution of the code more efficient.|
|External dependencies||None beyond software for compiling or interpreting source code in the relevant host environment (e.g., web browser, web server, or PDF Reader).|
|Technical protection considerations||The ECMAScript Language Specification provides no support for encryption or other form of technical protection. However, encryption may be supported through features in a particular host environment, for example, within PDF documents.|
|Internet Media Type||application/ecmascript
||See https://www.iana.org/assignments/media-types/application/ecmascript. See also RFC 4329.|
|Mac OS file type||TEXT
|Wikidata Title ID||See note.||
|Wikidata Title ID||Q5924007
Going forward, the situation is intended to be straightforward, for example, with the edition of ECMA-262 published in 2017 being referred to as ES2017. Features added to the ECMAScript specification in years after 2015 are documented as Finished Proposals in https://github.com/tc39/proposals/blob/master/finished-proposals.md.