实现instanceof操作符
const theInstanceof = function (object, constructor) {
if (typeof object !== 'object' || typeof constructor !== 'function') {
return false
}
let proto = Object.getPrototypeOf(object)
while (proto) {
const prototype = constructor.prototype
if (proto === prototype) return true
proto = Object.getPrototypeOf(proto)
}
return false
}
/********************* test *********************/
function Foo () {
}
const foo1 = new Foo()
const anyObj = {}
console.log(theInstanceof(foo1, Foo))
console.log(theInstanceof(anyObj, Foo))