new Operatorsuper Keyword? : ), )if Statementdo-while Statementwhile Statementfor Statementfor-in,for-of, andfor-await-of Statementscontinue Statementbreak Statementreturn Statementwith Statementswitch Statementthrow Statementtry Statementdebugger Statement?um/p1-90`Various ECMAScript language elements cause the creation of ECMAScript
Multiple occurrences of the same
The
The
The
The
The ExpectedArgumentCount of a
The
The
The
The
An anonymousexport default declaration, and its function code is therefore always
The
The
An alternative semantics is provided by
A
When processing an instance of the production
the interpretation of
The
The
The
Anarguments,super,this, ornew.target. Any reference toarguments,super,this, ornew.target within ansuper, thesuper is always contained within a non-super is accessible via theenv that is captured by the
The
The
The
The
The syntactic context immediately followingyield requires use of the
The
The
An anonymousexport default declaration, and its function code is therefore always
The
The
throw method are propagated.throw method are processed similarly to an innernext.throw method, this throw is going to terminate theyield* loop. But first we need to giveiterator a chance to clean up.yield* protocol violation:iterator does not have athrow method.The
The
An anonymousexport default declaration.
The
The
A class definition is always
It is a Syntax Error if
await isThe
The
Early Error rules ensure that there is only one method definition named
The
The
The
The
Every grammar production alternative in this specification which is not listed below implicitly has the following default definition of AllPrivateIdentifiersValid:
The
The
Every grammar production alternative in this specification which is not listed below implicitly has the following default definition of ContainsArguments:
The
The
The
The
The
For ease of specification, private methods and accessors are included alongside private fields in the[[PrivateElements]] slot of class instances. However, any given object has either all or none of the private methods and accessors defined by a given class. This feature has been designed so that implementations may choose to implement private methods and accessors using a strategy which does not require tracking each method or accessor individually.
For example, an implementation could directly associate instance private methods with their correspondingthis value. Looking up an instance private method on an object then consists of checking that the class
This differs from private fields: because field initializers can throw during class instantiation, an individual object may have some proper subset of the private fields of a given class, and so private fields must in general be tracked individually.
It is defined piecewise over the following productions:
constructor(...args) { super(...args); }. The most notable distinction is that while the aforementioned%Array.prototype%, this function does not.constructor() {}.The
await is parsed as a
Whenawait may be parsed as an identifier when the[Await] parameter is absent. This includes the following contexts:
Unlike
The
The
The
The
When processing an instance of the production
the interpretation of
The
The
The
The abstract operation IsInTailPosition takes argumentcall (a
Tail Position calls are only defined in
The
call is a
A potential tail position call that is immediately followed by return
It is defined piecewise over the following productions:
The abstract operation PrepareForTailCall takes no arguments and returns
A tail position call must either release any transient internal resources associated with the currently executing function
For example, a tail position call should only grow an implementation's activation record stack by the amount that the size of the target function's activation record exceeds the size of the calling function's activation record. If the target function's activation record is smaller, then the total size of the stack should decrease.