7.3.22 GetFunctionRealm ( obj )

带参数 obj 的抽象操作 GetFunctionRealm 执行以下步骤:

  1. 断言:obj 是一个可调用的对象。
  2. 如果 obj 有一个 [[Realm]] 内置插槽,那么

a. 返回 obj.[[Realm]]。 3.如果 obj 是一个 Bound Function 异常对象,那么

a. 使 target 变为 obj.[[BoundTargetFunction]]。

b. 返回 ? GetFunctionRealm(target)。

  1. 如果 obj 是一个 Proxy 异常对象,那么

a. 如果 obj.[[ProxyHandler]] 为 null,则抛出一个 TypeError 错误。

b. 使 proxyTarget 变为 obj.[[ProxyTarget]]。

c. 返回 ? GetFunctionRealm(proxyTarget)。

5.返回 the current Realm Record

注意:只有当 target 是不具有 [[Realm]] 内部插槽的非标准异常函数对象时,才会达到步骤 5。

results matching ""

    No results matching ""