ECMA-414 3rd Edition / December 2017
ECMAScript® Specification Suite
Reference number ECMA-123:2009
© Ecma International 2009
COPYRIGHT PROTECTED DOCUMENT
© Ecma International 2017
Contents
Page
1
Scope ...................................................................................................................................................... 1
2
Normative references ............................................................................................................................ 1
3
Informative references .......................................................................................................................... 1
4 4.1 4.2 4.3
ECMAScript ............................................................................................................................................ 1 ECMA-262, ECMAScript® Language Specification............................................................................. 2 ECMA-402, ECMAScript® Internationalization API Specification ..................................................... 2 ISO/IEC 21778, The JSON Data Interchange Syntax .......................................................................... 2
5
ECMAScript Test Suite.......................................................................................................................... 2
© Ecma International 2017
i
ii
© Ecma International 2017
Introduction ECMAScript is the general purpose programming language that is an essential part of the Web Browser application platform, but it is also widely used in many other environments. Essential components of an ECMAScript implementation are described in several individual standards and technical reports. The ECMAScript Specification Suite is just a collection of those. The specifications that define the ECMAScript programming language and its built-in libraries are developed by Ecma International. The International Standard for ECMAScript Specification Suite defined by this document aggregate these specifications via normative and informative references to the latest published Ecma International ECMAScript specifications. This has the advantage that an update of the Suite is only needed if there is a change (addition or deletion) in the set of the individual ECMAScript standards and technical reports.
This Ecma Standard was developed by Technical Committee 39 and was adopted by the General Assembly of December 2017.
© Ecma International 2017
iii
"COPYRIGHT NOTICE © 2017 Ecma International This document may be copied, published and distributed to others, and certain derivative works of it may be prepared, copied, published, and distributed, in whole or in part, provided that the above copyright notice and this Copyright License and Disclaimer are included on all such copies and derivative works. The only derivative works that are permissible under this Copyright License a nd Disclaimer are: (i)
works which incorporate all or portion of this document for the purpose of providing commentary or explanation (such as an annotated version of the document),
(ii) works which incorporate all or portion of this document for the purp ose of incorporating features that provide accessibility, (iii) translations of this document into languages other than English and into different formats and (iv) works by making use of this specification in standard conformant products by implementing (e.g. by copy and paste wholly or partly) the functionality therein. However, the content of this document itself may not be modified in any way, including by removing the copyright notice or references to Ecma International, except as required to translate it into languages other than English or into a different format. The official version of an Ecma International document is the English language version on the Ecma International website. In the event of discrepancies between a translated version and the of ficial version, the official version shall govern. The limited permissions granted above are perpetual and will not be revoked by Ecma International or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
iv
© Ecma International 2017
ECMAScript® Specification Suite
1
Scope
This International Standard defines the ECMAScript Specification Suite containing the ECMAScript programming language and its required and optional built-in libraries. It defines all the necessary components (both normative and informative) that is needed to implement this suite of standards. This suite does not change if one or more components are updated by a new standard edition. The Suite changes only when new components are added and / or old components are removed from it.
2
Normative references
The following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ECMA-262, ECMAScript® Language Specification ECMA-402, ECMAScript® Internationalization API Specification ISO/IEC 21778, The JSON Data Interchange Syntax (ECMA-404)
3
Informative references
ECMA TR/104, ECMAScript® Test Suite
4
ECMAScript
An implementation of ECMAScript consists of the ECMAScript programming language, required built-in libraries, and optional built-in libraries. The implementation of the ECMAScript language and required library shall conform to ECMA-262. The required library include data interchange functions that shall conform to ISO/IEC 21778. An implementation of ECMAScript may include an optional internationalization library that if included shall conform to ECMA-402. The following Ecma Standards are part of the current ECMAScript Specification Suite (see Figure 1):
ECMA-262, ECMAScript® Language Specification
ECMA-402, ECMAScript® Internationalization API Specification
ISO/IEC 21778, The JSON Data Interchange Syntax
© Ecma International 2017
1
Figure 1 – Components of the ECMAScript Specification Suite Standard
4.1
ECMA-262, ECMAScript® Language Specification
This Standard defines the ECMAScript general purpose programming language. The language specification defines the syntax and semantics of the ECMAScript language; the language’s execution environment; and, a built-in library that is available for use by ECMAScript programs as they execute.
4.2
ECMA-402, ECMAScript® Internationalization API Specification
This Standard defines the application programming interface for ECMAScript objects that support programs that need to adapt to the linguistic and cultural conventions used by different human languages and countries.
4.3
ISO/IEC 21778, The JSON Data Interchange Syntax
JSON is a lightweight, text-based, language-independent syntax for defining data interchange formats. It was derived from the ECMAScript programming language, but is programming language independent. JSON defines a small set of structuring rules for the portable representation of structured data.
5
ECMAScript Test Suite
ECMA TR/104, ECMAScript® Test Suite provides a set of non-normative software tests that ECMAScript implementers can use to help verify conformant ECMAScript implementations.
2
© Ecma International 2017
© Ecma International 2017
3
© Ecma International 2017