function new_instanceof(left, right) {
// 获取左边对象的隐式原型
let left_value = left.__proto__;
// 获取右边对象的显式原型
let right_value = right.prototype;
// 原型链查找
while (true) {
if (left_value === null) {
return false;
}
if (right_value === left_value) {
return true;
}
left_value = left_value.__proto__;
}
}
function test() {}
let t = new test();
console.log(new_instanceof(t, test)); // true