Toc
  1. 定义
  2. 实现
Toc
0 results found
Utone
模拟实现instanceof
2021/06/19

定义

用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

实现

// left为实例函数
// right构造函数
function myInstacnce(left, right) {
  if (typeof left !== 'object' || left === null) {
    return false
  }

  let leftProto = left.__proto__
  let parentPrototype = right.prototype

  while (true) {
    if (leftProto === parentPrototype) {
      return true
    }

    if (leftProto === null) {
      return false
    }

    leftProto = leftProto.__protype__
  }
}
打赏
支付宝
微信
本文作者:Utone
版权声明:本文首发于Utone的博客,转载请注明出处!