instanceof 的实现

2019-11-29  本文已影响0人  zdxhxh

我们可以通过while实现,终止条件为Object.prototype.prototype = undefined,不断遍历自身原型链,进行与Class的原型对象判断是否相等

function myInstanceof(target, Class) {
  let proto = Object.getPrototypeOf(target)
  while (proto) {
    if (proto === Class.prototype) {
      return true
    }
    proto = Object.getPrototypeOf(proto)
  }
  return false
}
上一篇 下一篇

猜你喜欢

热点阅读