?um/p1-90`在
The syntax-directed operation ContainsExpression takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation IsSimpleParameterList takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation HasInitializer takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation ExpectedArgumentCount takes no arguments and returns 一个非负
The syntax-directed operation FunctionBodyContainsUseStrict takes no arguments and returns 布尔值. It is defined piecewise over the following productions:
The syntax-directed operation EvaluateFunctionBody takes arguments functionObject (ECMAScript
The syntax-directed operation InstantiateOrdinaryFunctionObject takes arguments env (
匿名 export default 声明的一部分出现,因此它的
The syntax-directed operation InstantiateOrdinaryFunctionExpression takes optional argument name (
对于每个使用
当处理产生式的一个实例
时,使用以下文法来细化对
The syntax-directed operation ConciseBodyContainsUseStrict takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation EvaluateConciseBody takes arguments functionObject (一个 ECMAScript
The syntax-directed operation InstantiateArrowFunctionExpression takes optional argument name (一个
arguments、super、this 或 new.target 定义局部绑定。arguments、super、this 或 new.target 的任何引用都必须解析到词法外围环境中的绑定。通常这会是紧邻外围函数的 Function Environment。即使 super 的引用,在步骤 super 的 super 所需的状态可通过
The syntax-directed operation HasDirectSuper takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation SpecialMethod takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation DefineMethod takes argument object (一个 Object) and optional argument functionPrototype (一个 Object) and returns 要么是一个
The syntax-directed operation MethodDefinitionEvaluation takes arguments object (一个 Object) and enumerable (一个布尔值) and returns 要么是一个
紧跟在 yield 之后的语法上下文要求使用
The syntax-directed operation EvaluateGeneratorBody takes arguments functionObject (一个 ECMAScript
The syntax-directed operation InstantiateGeneratorFunctionObject takes arguments env (一个
匿名 export default 声明的一部分出现,因此其
The syntax-directed operation InstantiateGeneratorFunctionExpression takes optional argument name (一个
throw 方法的异常会被传播。来自内部 throw 方法的next 的方式处理。throw 方法,此抛出将终止 yield* 循环。但首先需要给 iterator 一个清理的机会。yield* 协议违例:iterator 没有 throw 方法。The syntax-directed operation EvaluateAsyncGeneratorBody takes arguments functionObject (一个 ECMAScript
The syntax-directed operation InstantiateAsyncGeneratorFunctionObject takes arguments env (一个
匿名 export default 声明的一部分出现。
The syntax-directed operation InstantiateAsyncGeneratorFunctionExpression takes optional argument name (一个
类定义始终是
如果
await 为 The syntax-directed operation ClassElementKind takes no arguments and returns
The syntax-directed operation ConstructorMethod takes no arguments and returns 一个
The syntax-directed operation IsStatic takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation NonConstructorElements takes no arguments and returns 一个
The syntax-directed operation PrototypePropertyNameList takes no arguments and returns 一个
The syntax-directed operation AllPrivateIdentifiersValid takes argument names (一个字符串的
本规范中未列在下面的每个文法产生式替代项,都隐式具有以下 AllPrivateIdentifiersValid 默认定义:
The syntax-directed operation PrivateBoundIdentifiers takes no arguments and returns 一个字符串的
The syntax-directed operation ContainsArguments takes no arguments and returns 一个布尔值.
本规范中未列在下面的每个文法产生式替代项,都隐式具有以下 ContainsArguments 默认定义:
The syntax-directed operation ClassFieldDefinitionEvaluation takes argument homeObject (一个 Object) and returns 要么是一个
The syntax-directed operation ClassStaticBlockDefinitionEvaluation takes argument homeObject (一个 Object) and returns 一个 ClassStaticBlockDefinition
The syntax-directed operation EvaluateClassStaticBlockBody takes argument functionObject (一个 ECMAScript
The syntax-directed operation ClassElementEvaluation takes argument object (一个 Object) and returns 要么是一个
The syntax-directed operation ClassDefinitionEvaluation takes arguments classBinding (一个 String 或
为便于规范说明,私有方法和访问器与私有字段一起包含在类实例的 [[PrivateElements]] 槽中。然而,对于任一给定对象,要么具有由给定类定义的所有私有方法和访问器,要么一个也没有。此特性经过设计,使实现可以选择使用一种不需要单独跟踪每个方法或访问器的策略来实现私有方法和访问器。
例如,实现可以将实例私有方法直接与其对应的 this 值运行。随后,在对象上查找实例私有方法就包括检查定义该方法的类构造函数是否已用于初始化该对象,然后返回与该
这不同于私有字段:由于字段初始化器可能在类实例化期间抛出,单个对象可能只具有给定类的私有字段的某个真子集,因此私有字段通常必须单独跟踪。
It is defined piecewise over the following productions:
constructor(...args) { super(...args); }。最显著的区别是,前述 %Array.prototype% 上的 constructor() {}。The syntax-directed operation BindingClassDeclarationEvaluation takes no arguments and returns 要么是一个
当 [Await] 参数存在时,await 被解析为
与
The syntax-directed operation InstantiateAsyncFunctionObject takes arguments env (一个
The syntax-directed operation InstantiateAsyncFunctionExpression takes optional argument name (一个
The syntax-directed operation EvaluateAsyncFunctionBody takes arguments functionObject (一个 ECMAScript
当处理产生式的一个实例
时,使用以下文法来细化对
The syntax-directed operation AsyncConciseBodyContainsUseStrict takes no arguments and returns 一个布尔值. It is defined piecewise over the following productions:
The syntax-directed operation EvaluateAsyncConciseBody takes arguments functionObject (一个 ECMAScript
The syntax-directed operation InstantiateAsyncArrowFunctionExpression takes optional argument name (一个
The abstract operation IsInTailPosition takes argument call (一个
The syntax-directed operation HasCallInTailPosition takes argument call (一个
紧随其后返回调用结果的
It is defined piecewise over the following productions:
The abstract operation PrepareForTailCall takes no arguments and returns
尾位置调用必须在调用目标函数之前释放与当前正在执行的函数
例如,尾位置调用应当只让实现的活动记录栈增长目标函数活动记录大小超出调用函数活动记录大小的那部分。如果目标函数的活动记录更小,则栈的总大小应当减少。