最近在准备突发奇想,想尝试一下自己手动实现instanceof。首先就是要了解,instanceof的功能是:能够正确的判断对象类型,可以判断在其原型链上是否能够找到该类型的原型
代码实现如下:
function myInstanceof(obj,constructor){
if(typeof obj !== 'object' && typeof !== 'function' || obj === null){
return false;
}
let proto = Object.getPrototypeOf(obj);
while(proto !== null){
if(proto === constructor.prototype){
return true;
}
proto = Object.getPrototyprOf(proto);
}
return false;
}