9.1.14 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )

抽象操作 GetPrototypeFromConstructor 确定应该用于创建对应于特定构造函数的对象的 [[Prototype]] 值。 该值从构造函数的prototype属性(如果存在)中检索。 否则由 intrinsicDefaultProto 的内部名称用于 [[Prototype]]。 此抽象操作执行以下步骤:

  1. 断言:intrinsicDefaultProto 是一个 String 值,它是本规范的一个内在对象的名称。 相应的对象必须是旨在用作对象的[[Prototype]] 值的内在函数。
  2. 断言:IsCallable(constructor) 为 true
  3. 使 proto 变为 ? Get(constructor, "prototype")。
  4. 如果 Type(proto) 不是 Object 类型,那么

a. 使 realm 变为 ? GetFunctionRealm(constructor)。 b. 使 proto realm 的内在对象,名为 intrinsicDefaultProto

5.返回 proto

注意:如果构造函数不提供 [[Prototype]] 值,则使用的默认值从构造函数的 Realms 而不是从运行的执行上下文获取。

results matching ""

    No results matching ""