?um/p1-90`さまざまなECMAScript language elementsは、ECMAScript
The
The
The
The
The
The
The
anonymous export default declarationの一部としてのみ出現できるため、そのfunction codeは常に
The
alternative semanticsは、
production
のinstanceを処理するとき、
The
The
The
arguments、super、this、またはnew.targetに対するlocal bindingsを定義しません。arguments、super、this、またはnew.targetへのreferenceはいずれも、lexically enclosing environment内のbindingへresolveされなければなりません。通常、これは直ちに囲むfunctionのFunction Environmentになります。superへのreferencesを含む場合でも、step superをreferenceするsuperを実装するために必要なstateは、
The
The
The
The
yieldの直後のsyntactic contextでは、
Generatorsに関係する
The
The
anonymous export default declarationの一部としてのみ出現できるため、そのfunction codeは常に
The
throw methodからのexceptionsは伝播される。inner throw methodからのnextと同様に処理される。throw methodを持たない場合、このthrowはyield* loopを終了させることになる。しかし、まずiteratorにclean upの機会を与える必要がある。yield* protocol violationがあったこと、すなわちiteratorがthrow methodを持たないことを示すためにAsyncGeneratorsに関係する
The
The
anonymous export default declarationの一部としてのみ出現できます。
The
class definitionは常に
awaitがThe
The
Early Error rulesは、
The
The
The
The
この仕様内で下に列挙されていないすべてのgrammar production alternativeは、暗黙的にAllPrivateIdentifiersValidの次のdefault definitionを持ちます:
The
The
この仕様内で下に列挙されていないすべてのgrammar production alternativeは、暗黙的にContainsArgumentsの次のdefault definitionを持ちます:
The
The
The
The
The
specificationの容易さのため、private methodsおよびaccessorsは、private fieldsと並んでclass instancesの[[PrivateElements]] slotに含められます。ただし、任意のobjectは、与えられたclassによって定義されるprivate methodsおよびaccessorsのすべてを持つか、まったく持たないかのいずれかです。この機能は、implementationsが各methodまたはaccessorを個別にtrackする必要のないstrategyを使用してprivate methodsおよびaccessorsを実装することを選択できるように設計されています。
例えば、implementationはinstance private methodsをそれらに対応するthis valueとして実行されたかをtrackできます。object上でinstance private methodをlookupすることは、そのmethodを定義するclass
これはprivate fieldsとは異なります。field initializersはclass instantiation中にthrowする可能性があるため、個々のobjectは与えられたclassのprivate fieldsのproper subsetだけを持つ場合があり、そのためprivate fieldsは一般に個別にtrackされなければなりません。
It is defined piecewise over the following productions:
constructor(...args) { super(...args); }と同様に振る舞う。最も注目すべき違いは、前述の%Array.prototype%上のconstructor() {}と同様に振る舞う。The
[Await] parameterが存在するとき、awaitは
awaitはidentifierとしてparseされる場合があります。これには次のcontextsが含まれます:
The
The
The
production
のinstanceを処理するとき、
The
The
The
The abstract operation IsInTailPosition takes argument call (a
Tail Position callsは
The
call は、ソーステキストの特定の範囲を表す
呼び出し結果の return
同じ using 宣言または await using 宣言は、その呼び出しが可能な末尾位置呼び出しになることを防ぐ。
It is defined piecewise over the following productions:
The abstract operation PrepareForTailCall takes no arguments and returns
tail position callは、target functionを呼び出す前に、現在実行中のfunction
例えば、tail position callは、target functionのactivation recordのsizeがcalling functionのactivation recordのsizeを超える分だけ、implementationのactivation record stackを増加させるべきです。target functionのactivation recordの方が小さい場合、stackのtotal sizeは減少するべきです。