TC39 - ECMAScript®
Scope - Programme of work
TC39 has bi-monthly face to face meetings, usually on the West Coast but one meeting per year takes place in Europe. In addition, at least one meeting is held in Redmond, WA (July meeting usually). Attendance at meetings is controlled by Ecma International By-laws and Rules. Visitors on a one-time basis are usually approved by the Secretary General and requests should be directed to him for approval. Such visitors are kindly invited to fill in the Ecma International TC39 ECMAScript RFTG Contributor form available here.
- 04-06 February 2020 (at the University of Honolulu & Google in Honolulu)
- 31 March - 02 April 2020 (at Apple in Cupertino)
- 02-04 June 2020 (at PayPal in Chicago)
- 21-23 July 2020 (at Microsoft in Seattle)
- 22-24 September 2020 (at Bloomberg in Tokyo)
- 17-19 November 2020 (to be decided)
A presentation "ECMAScript overview" by J. Neumann, former TC39 Chairman, is available here. The audio file is available here.
The ECMAScript™ specification has been developed by Ecma TC39 whose membership includes all major browser vendors. The candidate milestone designates that the authoring process was completed, followed by a testing and validation phase of the project where TC39 members create and test implementations of the candidate specification to verify its correctness and the feasibility of creating interoperable implementations. The test implementations will also be used for web compatibility testing to ensure that the revised specification remains compatible with existing web applications. TC39 has committed to participating in this testing process. A test262 archive webpage is available here.
Current work on ECMAScript™
Work on future ECMAScript™ editions continues as part of the previously announced ECMAScript™ "Harmony" project. A new Standard ECMA-414 "ECMAScript™ Specification Suite" was adopted in June 2016. This International Standard defines the ECMAScript Specification Suite containing the ECMAScript programming language and its required and optional built-in libraries. ECMA-414 was forwarded to ISO/IEC JTC 1 for fast-track as ISO/IEC 22275.
The components of ECMAScript™ are the following:
- ECMA-402: "ECMAScript® 2018 Internationalization API Specification"
- ECMA-404: "The JSON Data Interchange Syntax"
- ECMA-414: "ECMAScript® Specification Suite"
- ECMA TR/104: "ECMAScript® Test Suite"
Latest version of ECMAScript™
The ECMAScript™, Standard ECMA-262 10th edition is publicly available from the Ecma International website.
The latest drafts are available at: https://tc39.github.io/ecma262/. Reporters should generally only file bugs if the bug is still present in the latest drafts.
You are welcome to report feedback or issues via the GitHub issue tracker at: https://github.com/tc39/ecma262/issues
If you have any information request, please kindly subscribe to the es-discuss mailing list.
Earlier versions of ECMAScript™ (available here)
The ECMAScript™, Standard ECMA-262 Edition 6, Edition 7, Edition 8 and Edition 9 were adopted respectively in June 2015, in June 2016, in June 2017 and in June 2018.
The ECMAScript™, Standard ECMA-262 Edition 5.1 (identical with ISO/IEC 16262 third Edition), is publicly available from the Ecma International web site.
A comparable test suite known as Test262 (ES5) has been developed and approved as ECMA TR/104.
The revision of ECMA-262 known as ECMAScript™, fifth Edition was approved in December, 2009. It was previously developed under the working name ECMAScript™ 3.1. The fifth Edition codifies de facto interpretations of the language specification that have become common among browser implementations and adds support for new features that have emerged since the publication of the third Edition. Such features include accessor properties, reflective creation and inspection of objects, program control of property attributes, additional array manipulation functions, support for the JSON object encoding format, and a strict mode that provides enhanced error checking and program security.
Testing of the fifth Edition was completed by mid-July 2009. Technical errors and ambiguities were resolved during this process, and a final draft of the specification was agreed upon in September for submission to the Ecma General Assembly for final approval in December 2009. This has resulted in a fast-track submission and ballot within ISO/IEC JTC 1 for revision of ISO/IEC 16262.
An earlier major revision of the ECMAScript™ standard was the third Edition, published in 1999 (a Russian translation of ECMA-262 3rd edition is available here). After completion of the third Edition, significant work was done to develop a fourth Edition. Although development of a fourth Edition was not completed, that work influenced ECMAScript™, fifth Edition and is continuing to influence the ongoing development of ECMAScript™.
ECMAScript Development Archive (available here)
Ecma International hosts a publicly accessible collection of documents that record the activities of Ecma TC39 as it initially created and evolved the ECMAScript Language Specification and related standards. It includes meeting records (both formal and informal), presentation decks, proposals, draft documents, and many other artifacts. The collection is organized by year and currently covers the period 1996-2015.
How to join the TC39 work
If you want to officially participate into the standardization activities regarding ECMAScript™, you shall first apply to become an Ecma member (see the membership info here).
Once your membership request has been officially accepted by the General Assembly, you will have to follow the Ecma Royalty-Free (RF) Patent Policy option.
Finally you shall register to the TC39 RF TG (see here for the WORD registration form and here for the PDF registration form) and the process has been completed. A list of companies which have signed the registration form for a TC39 Royalty Free Task Group is available here.
TC39 development process
Please find hereafter two links to get useful information about the standardization process of TC39: https://tc39.github.io/process-document/ and http://exploringjs.com/es2016-es2017/ch_tc39-process.html.
ECMAScript® is the registered trademark of Ecma International.