?
u
m
/
p
1-9
The ECMAScript language syntax and semantics defined in this annex are required when the ECMAScript
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
\
U+005C (REVERSE SOLIDUS).The semantics of
The following two rules replace the corresponding rules of
In addition, the following rules are added to
\
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 rer (a
The semantics of
The abstract operation
When the ECMAScript
The entries in
Intrinsic Name | Global Name | ECMAScript Language Association |
---|---|---|
|
escape
|
The escape function ( |
|
unescape
|
The unescape function ( |
This function is a property of the
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 function is a property of the escape
function is replaced with the code unit that it represents.
It is the %unescape% intrinsic object.
It performs the following steps when called:
This method returns a
It performs the following steps when called:
This method is intentionally generic; it does not require that its
This method performs the following steps when called:
The abstract operation CreateHTML takes arguments string (an
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
The property
The initial value of the
The property
The initial value of the
The getFullYear
method is preferred for nearly all purposes, because it avoids the “year 2000 problem.”
This method performs the following steps when called:
The setFullYear
method is preferred for nearly all purposes, because it avoids the “year 2000 problem.”
This method performs the following steps when called:
The toUTCString
method is preferred. This method is provided principally for compatibility with old code.
The initial value of the
This method performs the following steps when called:
This method completely reinitializes the
Prior to ECMAScript 2015, the specification of
The
Prior to ECMAScript 2015, the ECMAScript specification did not define the occurrence of a
A function is declared and only referenced within a single block.
var
declaration occurs within the function code of g.
A function is declared and possibly used within a single
var
declaration occurs within the function code of g.
A function is declared and possibly used within a single block but also referenced within subsequent blocks.
var
declaration occurs within the function code of g.
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
During
During
During
The rules for the following production in
switch
Statement Static Semantics: Early ErrorsThe rules for the following production in
During
During
The following augments the
This production only applies when parsing
The content of subclause
The var
declarations that bind a name that is also bound 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
Step
Step
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
.
The following step replaces step
The following steps replace step
typeof
OperatorThe following step replaces step typeof
The
The