page contents

ntanceof 操作符的实现原理及实现?

轩辕小不懂 发布于 2021-12-15 14:10
阅读 541
收藏 0
分类:WEB前端开发
2656
Nen
Nen
- 程序员

instanceof 运算符用于判断构造函数的 prototype 属性是否出现在对象的原型链中的任何位置。

function myInstanceof(left, right) {

  // 获取对象的原型

  let proto = Object.getPrototypeOf(left)

  // 获取构造函数的 prototype 对象

  let prototype = right.prototype; 


  // 判断构造函数的 prototype 对象是否在对象的原型链上

  while (true) {

    if (!proto) return false;

    if (proto === prototype) return true;

    // 如果没有找到,就继续从其原型上找,Object.getPrototypeOf方法用来获取指定对象的原型

    proto = Object.getPrototypeOf(proto);

  }

}

请先 登录 后评论