js 模拟一个new 函数

139 阅读1分钟
function _new(fn, ...arg) {
    const obj = Object.create(fn.prototype);
    const ret = fn.apply(obj, arg);
    return ret instanceof Object ? ret : obj;
}

Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。