7.3.13 Construct ( F [ , argumentsList [ , newTarget ]] )

抽象操作 Construct 用于调用函数对象的 [[Construct]] 内部方法。 使用参数 F 和可选的 argumentsList newTarget 调用操作,其中F 是函数对象。 argumentsList newTarget 是要作为内部方法的相应参数传递的值。 如果 argumentsList 不存在,则使用新的空List 作为其值。 如果 newTarget 不存在,则使用 F 作为其值。 此抽象操作执行以下步骤:

  1. 如果 newTarget 未被传递,使 newTarget 变为 F
  2. 如果 argumentsList 未被传递,则使 argumentsList 变为一个新的 List
  3. 断言:IsConstructor(F) 为 true
  4. 断言: IsConstructor(newTarget) 为 true
  5. 返回 ? F.[[Construct]](argumentsList, newTarget)。

注意:如果未传递 newTarget,此操作就等效于:new F(... argumentsList)。

results matching ""

    No results matching ""