?uem/p1-90`The ECMAScript language syntax and semantics defined in this annex are required when the ECMAScript
Some features defined in this annex are specified in this annex, and some are specified in the main body of this document.
When a feature is specified in the main body, each point where it affects the document is marked with the words “
This annex describes various legacy features and other characteristics of web browser ECMAScript
These features are not considered part of the core ECMAScript language. Programmers should not use or assume the existence of these features and behaviours when writing new ECMAScript code. ECMAScript implementations are discouraged from implementing these features unless the implementation is part of a web browser or is required to run the same legacy ECMAScript code that web browsers encounter.
The syntax and semantics of
Similar to a
The syntax of
This alternative pattern grammar and semantics only changes the syntax and semantics of BMP patterns. The following grammar extensions include productions parameterized with the [UnicodeMode] parameter. However, none of these extensions change the syntax of Unicode patterns recognized when parsing with the [UnicodeMode] parameter present on the
When the same left-hand sides occurs with both [+UnicodeMode] and [~UnicodeMode] guards it is to control the disambiguation priority.
The semantics of
Additionally, the rules for the following productions are modified with the addition of the highlighted text:
In the definitions of
The semantics of
The semantics of
The semantics of
The rule for
The rule for
The rule for
The semantics of
The rule for
The rule for
The semantics of
Rules for the
The following rules are also added:
\ U+005C (REVERSE SOLIDUS).The semantics of
Two rules are replaced:
The following rules are also added:
\ U+005C (REVERSE SOLIDUS).\c within a character class where it is not followed by an acceptable control character.The abstract operation CharacterRangeOrUnion takes arguments regexpRecord (a
The semantics of
When the ECMAScript
The entries in
This
When replacing a code unit of numeric value less than or equal to 0x00FF, a two-digit escape sequence of the form %xx is used. When replacing a code unit of numeric value strictly greater than 0x00FF, a four-digit escape sequence of the form %uxxxx is used.
It is the %escape% intrinsic object.
It performs the following steps when called:
The encoding is partly based on the encoding described in RFC 1738, but the entire encoding specified in this standard is described above without regard to the contents of RFC 1738. This encoding does not reflect changes to RFC 1738 made by RFC 3986.
This escape
It is the %unescape% intrinsic object.
It performs the following steps when called:
This
It performs the following steps when called:
This
This
The abstract operation CreateHTML takes arguments contents (an
This
This
This
This
This
This
This
This
This
This
This
This
The property
The initial value of the
The property
The initial value of the
The getFullYear
This
The setFullYear
This
The initial value of the
This
Prior to ECMAScript 2015, the specification of
The
Prior to ECMAScript 2015, the ECMAScript specification did not define the occurrence of a
A
var declaration occurs within the A
var declaration occurs within the A
var declaration occurs within the The first use case is interoperable with the semantics of
ECMAScript 2015 interoperability for the second and third use cases requires the following extensions to the clause
If an ECMAScript implementation has a mechanism for reporting diagnostic warning messages, a warning should be produced when code contains a
This feature involves special semantics at the following points:
The following augments the
This production only applies when parsing
In this feature, the var declarations that bind a name that is also bound by the
At runtime, such bindings are instantiated in the VariableDeclarationEnvironment. They do not shadow the same-named bindings introduced by the var declarations will assign to the corresponding catch parameter rather than the var binding.
This modified behaviour also applies to var and function declarations introduced by
The following augments the
This production only applies when parsing
The
The
The
The
The
The
The
An [[IsHTMLDDA]] internal slot may exist on typeof operator
Objects with an [[IsHTMLDDA]] internal slot are never created by this specification. However, the document.all object in web browsers is a document.all.
This feature involves special semantics at the following points:
typeofThe
The
When a
When the assignment target is the = or an ??=, &&=, ||=).
See step