7.3.19 OrdinaryHasInstance ( C, O )

抽象操作 OrdinaryHasInstance 实现默认算法,用于确定对象 O 是否继承自构造函数 C 提供的实例对象继承路径。此抽象操作执行以下步骤:

  1. 如果 IsCallable(C) 为 false,则返回 false
  2. 如果 C 有一个 [[BoundTargetFunction]] 内部插槽,那么

a. 如果 C 有一个 [[BoundTargetFunction]] 内部插槽,那么 b. 返回 ? InstanceofOperator(O, BC)。

3.如果 Type(O) 不是 Object,返回 false

4.使 P 变为 ? Get(C, "prototype")。

5.如果 Type(P) 不是 Object,抛出一个 TypeError 错误。

6.重复

a. 使 O 变为 ? O.[[GetPrototypeOf]]()。

b. 如果 Onull,返回 false

c. 如果 SameValue(P, O) 为 true,则返回 true。

results matching ""

    No results matching ""