To the extent possible under law, the editor has waived all copyright and related or neighboring rights to this work. In addition, as of 22 July 2016, the editor has made this specification available under the Open Web Foundation Agreement Version 1.0, which is available at http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0.
This specification aims to document the differences between the ECMAScript specification and the compatibility and interoperability requirements for ECMAScript implementations in web browsers. The ultimate goal of this document is to upstream its contents to the ECMAScript standard. [ECMASCRIPT]
Everything in this specification is normative except for examples, notes, and sections marked as non-normative.
A user agent must also be a conforming implementation of HTML, if applicable. [HTML]
Script authors must not depend on the extensions defined in this specification.
The key words “must” and “should” in this document are to be interpreted as described in RFC 2119. [RFC2119]
Special symbols in this document are identified using their Unicode code points and names. [UNICODE]
When this specification uses the term ECMAScript character, it means a 16-bit unsigned value used to represent a single 16-bit unit of text. [ECMASCRIPT]
Thanks to Anne van Kesteren, Aryeh Gregor, Claude Pache, Daniel Ehrenberg, David Håsäther, Domenic Denicola, James Graham, John-David Dalton, Masatoshi Kimura, Ms2ger, Simon Pieters, Simon Sapin, Steven Levithan, Mark ‘Tarquin’ Wilton-Jones, and Tom Schuster for their useful comments.
Special thanks to James Graham for collecting and documenting most of these requirements on the WHATWG Wiki, and Juriy ‘kangax’ Zaytsev (Юрий Зайцев) for his ECMAScript Extensions Compatibility Table.