instanceof
运算符用于检测构造函数的 prototype
属性是否出现在某个实例对象的原型链上
const myInstanceof = (left, rigth) => {
// 基本类型都返回false
if (typeof left !== 'object' || left === null) {
return false
}
const proto = Object.getPrototypeOf(left)
while(true) {
if (proto === null) return false
if (proto === right.prototype) return true
proto = Object.getPrototypeOf(proto)
}
}