SOURCE

//比较右边原型对象是否等于左边
//1.获取左边原型对象,如果为空返回false,如果等于右边原型对象返回true。
function myInstanceof(left,right){
    let prototype= Object.getPrototypeOf(left)
    while(true){
        if(!prototype)return false
        if(prototype===right.prototype)return true;
        prototype=Object.getPrototypeOf(prototype)
    }
}
//创建一个新对象,拥有目标对象的构造属性和方法,原型属性和方法
function myNew(target,...item){
    if(typeof target==='object'){
        function nfn(){}
        nfn.prototype=target.prototype
       return nfn.call(target,...item)
    }else{
        return {}
    }
}
//创建新对象继承构造属性和方法,原型属性和方法
Object.myCreate = function (target) {
    function fn(){}
    fn.prototype=target.prototype
    return new a()

  
}
console 命令行工具 X clear

                    
>
console