In addition to those defined in this section, specialized syntax-directed operations are defined throughout this specification.
It is not necessary to treat export default
At the top level of a
The LexicallyDeclaredNames of a
export At the top level of a
This section is extended by Annex
export This section is extended by Annex
export At the top level of a function, or script, function declarations are treated like var declarations rather than like lexical declarations.
At the top level of a function or script, inner function declarations are treated like var declarations.
With parameter labelSet.
This section is extended by Annex
With parameter labelSet.
This section is extended by Annex
With parameters iterationSet and labelSet.
This section is extended by Annex
The abstract operation IsAnonymousFunctionDefinition takes argument expr (a
With parameter name.
With parameter symbol.
Every grammar production alternative in this specification which is not listed below implicitly has the following default definition of Contains:
Static semantic rules that depend upon substructure generally do not look into function definitions.
Static semantic rules that depend upon substructure generally do not look into class bodies except for
super or this, return super, or this, return super, or this, return Contains is used to detect new.target, this, and super usage within an
super, return With parameter symbol.
These operations are used in multiple places throughout the specification.
With parameter scope.
With parameters value and environment.
var statements and formal parameter lists of some non-strict functions (See
The abstract operation InitializeBoundName takes arguments name, value, and environment. It performs the following steps when called:
With parameters iteratorRecord and environment.
When