概念描述
- obj instanceof constructor
- obj.__ proto __ 的构造函数是否是 constructor。
- 是的话返回true, 不是的话沿着原型链继续往上找,直接找到为止,找不到返回false。
代码实现

: boolean {
if (typeof obj !== 'object') return false
let result: boolean = false
let proto = Reflect.getPrototypeOf(obj)
while (proto) {
if (proto.constructor === Fn) {
result = true
break
} else {
proto = Reflect.getPrototypeOf(proto)
}
}
return result
}
console.log('instanceOf([], Array)', instanceOf([], Array))
console.log('instanceOf([], Object)', instanceOf([], Object))
console.log('instanceOf([], Date)', instanceOf([], Date))