instanceof 就是判断构造函数的 prototype 属性是否出现在实例的原型链上。

    1. function instanceOf(left, right) {
    2. let proto = left.__proto__
    3. let prototype = right.prototype
    4. while (true) {
    5. if (proto === null) return false
    6. if (proto === prototype) return true
    7. proto = proto.__proto__
    8. }
    9. }
    10. console.log(instanceOf(() => {}, Function))