instanceof实现的原理

46 阅读1分钟

instanceof实现的原理

  1. 技术要点,原型链
  2. 代码实现
function myInstanceof(father,child){
    const fp = father.prototype
    let cp = child.__proto__
    while (cp){
        if (cp === fp){
            return true
        }
        cp = cp.__proto__
    }
    return false
}
console.log(myInstanceof(Array,[]));// true
console.log(myInstanceof(Map,new Map()));//true
console.log(myInstanceof(Array,new Map()));//false