7.3.20 SpeciesConstructor ( O, defaultConstructor )

抽象操作 SpeciesConstructor 用于检索应该用于创建从参数对象 O 派生的新对象的构造函数。如果从 O 开始找不到构造函数@@ species属性,则 defaultConstructor 参数是要使用的构造函数。 抽象操作执行以下步骤:

  1. 断言:IsPropertyKey(P) 为 true
  2. 使 C 变为? Get(O, "constructor").
  3. 如果 C undefined,则返回 defaultConstructor.
  4. 如果 Type(C) 不是 Object 类型,抛出一个 TypeError 错误。
  5. 使 S 变为 ? Get(C, @@species)。
  6. 如果 Sundefined null,返回 defaultConstructor
  7. 如果 IsConstructor(S) 为 true,则返回 S
  8. 抛出一个 TypeError 错误。

results matching ""

    No results matching ""