实现instanceOf
实现 instanceOf
函数
instanceOf
运算符用于检测构造函数的 prototype
属性是否出现在某个实例对象的原型链上。
function instanceOf(obj, className) {
// 获取对象的原型
let proto = Object.getPrototypeOf(obj);
// 获取类的原型
const prototype = className.prototype;
// 遍历对象的原型链
while (proto !== null) {
// 如果找到匹配的原型,返回 true
if (proto === prototype) {
return true;
}
// 继续沿着原型链向上查找
proto = Object.getPrototypeOf(proto);
}
// 如果遍历完原型链没有找到匹配的原型,返回 false
return false;
}