美文网首页
instanceof实现原理

instanceof实现原理

作者: 小啊美 | 来源:发表于2021-05-14 14:52 被阅读0次

看了篇文章讲instanceof实现原理,觉得通俗易懂,在此记录下
一句话简述,就是无限比对原型,直到原型对象相等

function myInstanceof (left, right) {
  // 先判断是否是基础数据类型,如果是则直接return
  if (typeof left !== 'object' || left === null) return false
  // 获取实例的原型对象
  let proto = Object.getPrototypeOf(left)
  // 进入无限循环,直到找到相同的原型对象
  while(true) {
    if (proto === null) return false
    if (proto === right.prototype) return true
    proto = Object.getPrototypeOf(proto)
  }
}
// test
myInstanceof(new String(123), String) //true
myInstanceof('123', String) //false

相关文章

网友评论

      本文标题:instanceof实现原理

      本文链接:https://www.haomeiwen.com/subject/gxyqjltx.html