?um/p1-90`다양한 ECMAScript language element는 ECMAScript
The
The
The
The
The
The
The
anonymous export default declaration의 part로만 occur할 수 있으므로, 그 function code는 따라서 항상
The
alternative semantics는
production
의 instance를 processing할 때,
The
The
The
arguments, super, this 또는 new.target을 위한 local binding을 define하지 않습니다. arguments, super, this 또는 new.target에 대한 모든 reference는 lexically enclosing environment 안의 binding으로 resolve되어야 합니다. 보통 이는 immediately enclosing function의 Function Environment입니다. super에 대한 reference를 contain할 수 있더라도, step super를 reference하는 super를 implement하는 데 필요한 state는
The
The
The
The
yield 바로 뒤의 syntactic context는
Generator와 관련된 abstract operation은
The
The
anonymous export default declaration의 part로만 occur할 수 있으므로, 그 function code는 따라서 항상
The
throw method로부터의 exception은 propagated된다. inner throw method로부터의 next와 similar하게 processed된다.throw method를 가지지 않으면, 이 throw는 yield* loop를 terminate할 것이다. 하지만 먼저 iterator에게 cleanup할 chance를 주어야 한다.yield* protocol violation이 있었음을 indicate하기 위해 throw method를 가지지 않는다.AsyncGenerator와 관련된 abstract operation은
The
The
anonymous export default declaration의 part로만 occur할 수 있습니다.
The
class definition은 항상
await가 The
The
Early Error rule은
The
The
The
The
이 명세에서 아래에 listed되지 않은 모든 grammar production alternative는 암묵적으로 AllPrivateIdentifiersValid에 대해 다음 default definition을 가집니다:
The
The
이 명세에서 아래에 listed되지 않은 모든 grammar production alternative는 암묵적으로 ContainsArguments에 대해 다음 default definition을 가집니다:
The
The
The
The
The
specification의 ease를 위해, private method와 accessor는 private field와 함께 class instance의 [[PrivateElements]] slot에 included됩니다. 그러나 given object는 given class에 의해 defined된 private method 및 accessor를 모두 가지거나 전혀 가지지 않습니다. 이 feature는 implementation이 각 method 또는 accessor를 individual하게 tracking할 필요가 없는 strategy를 사용하여 private method와 accessor를 implement하도록 choose할 수 있게 designed되었습니다.
예를 들어, implementation은 instance private method를 그 corresponding this value로 사용하여 run되었는지를 track할 수 있습니다. 그러면 object에서 instance private method를 looking up하는 것은 method를 define하는 class
이는 private field와 다릅니다: field initializer는 class instantiation 중에 throw할 수 있으므로, individual object는 given class의 private field의 proper subset만 가질 수 있고, 따라서 private field는 일반적으로 individual하게 tracked되어야 합니다.
It is defined piecewise over the following productions:
constructor(...args) { super(...args); }와 유사하게 동작한다. 가장 두드러진 차이점은 앞의 ECMAScript 소스 텍스트는 관찰 가능하게 %Array.prototype%의 constructor() {}와 유사하게 동작한다.The
[Await] parameter가 present할 때 await는
await는 identifier로 parsed될 수 있습니다. 여기에는 다음 context가 포함됩니다:
The
The
The
production
의 instance를 processing할 때,
The
The
The
The abstract operation IsInTailPosition takes argument call (a
Tail Position call은 caller context의 chain을 observation할 수 있게 하는 common non-standard language extension(
The
call은 소스 텍스트의 특정 범위를 나타내는
호출 결과의
같은 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을 invoking하기 전에 currently executing function
예를 들어, tail position call은 target function의 activation record size가 calling function의 activation record size를 초과하는 amount만큼만 implementation의 activation record stack을 grow해야 합니다. target function의 activation record가 더 작으면, stack의 total size는 decrease해야 합니다.