?
u
m
/
In addition to those defined in this section, specialized syntax-directed operations are defined throughout this specification.
The syntax-directed operation BoundNames takes no arguments and returns a
It is defined piecewise over the following productions:
The syntax-directed operation DeclarationPart takes no arguments and returns a
The syntax-directed operation IsConstantDeclaration takes no arguments and returns a Boolean. It is defined piecewise over the following productions:
It is not necessary to treat export default
The syntax-directed operation LexicallyDeclaredNames takes no arguments and returns a
At the top level of a
The LexicallyDeclaredNames of a
export
At the top level of a
The syntax-directed operation LexicallyScopedDeclarations takes no arguments and returns a
The syntax-directed operation VarDeclaredNames takes no arguments and returns a
This section is extended by Annex
export
The syntax-directed operation VarScopedDeclarations takes no arguments and returns a
This section is extended by Annex
export
The syntax-directed operation TopLevelLexicallyDeclaredNames takes no arguments and returns a
At the top level of a function, or script, function declarations are treated like var declarations rather than like lexical declarations.
The syntax-directed operation TopLevelLexicallyScopedDeclarations takes no arguments and returns a
The syntax-directed operation TopLevelVarDeclaredNames takes no arguments and returns a
At the top level of a function or script, inner function declarations are treated like var declarations.
The syntax-directed operation TopLevelVarScopedDeclarations takes no arguments and returns a
The syntax-directed operation ContainsDuplicateLabels takes argument labelSet and returns a Boolean. It is defined piecewise over the following productions:
This section is extended by Annex
The syntax-directed operation ContainsUndefinedBreakTarget takes argument labelSet and returns a Boolean. It is defined piecewise over the following productions:
This section is extended by Annex
The syntax-directed operation ContainsUndefinedContinueTarget takes arguments iterationSet and labelSet and returns a Boolean. It is defined piecewise over the following productions:
This section is extended by Annex
The syntax-directed operation HasName takes no arguments and returns a Boolean. It is defined piecewise over the following productions:
The syntax-directed operation IsFunctionDefinition takes no arguments and returns a Boolean. It is defined piecewise over the following productions:
The abstract operation IsAnonymousFunctionDefinition takes argument expr (an
The syntax-directed operation IsIdentifierRef takes no arguments and returns a Boolean. It is defined piecewise over the following productions:
The syntax-directed operation NamedEvaluation takes argument name and returns either a
The syntax-directed operation Contains takes argument symbol and returns a Boolean.
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
Static semantic rules that depend upon substructure generally do not look into static
initialization blocks.
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 The syntax-directed operation ComputedPropertyContains takes argument symbol and returns a Boolean. It is defined piecewise over the following productions:
These operations are used in multiple places throughout the specification.
The syntax-directed operation InstantiateFunctionObject takes arguments env and privateEnv and returns a
The syntax-directed operation BindingInitialization takes arguments value and environment and returns either a
var
statements and formal parameter lists of some
It is defined piecewise over the following productions:
The abstract operation InitializeBoundName takes arguments name (a String), value, and environment and returns either a
The syntax-directed operation IteratorBindingInitialization takes arguments iteratorRecord and environment and returns either a
When
It is defined piecewise over the following productions:
The syntax-directed operation AssignmentTargetType takes no arguments and returns
The syntax-directed operation PropName takes no arguments and returns a String or