需要注意的点,不推荐使用__proto__获取隐式原型,使用getPrototypeOf()更好。
代码
function myInstanceof(left, right) {
let proto = Object.getPrototypeOf(left);
let prototype = right.prototype
while (proto) {
if (proto === prototype) return true;
proto = Object.getPrototypeOf(proto)
}
return false
}
测试
let A = function () { }
let a = new A()
console.log(myInstanceof(a, A));
记录记录!