美文网首页
new操作符做了什么事情,手写实现一个new操作

new操作符做了什么事情,手写实现一个new操作

作者: 宏_4491 | 来源:发表于2021-03-08 15:09 被阅读0次

    new操作符做了什么事情,手写实现一个new操作

    答:

    • var obj = {} //创建一个空对象。
    • obj.proto = Fun.prototype //空对象的proto指向构造函数的原型对象。
    • Fun.call(obj) // 构造函数的this指向创建的空对象。
    实现一个new
    function _new(fn, ...arg) {
        const obj = Object.create(fn.prototype);
        const ret = fn.apply(obj, arg);
        // 根据规范,返回 null 和 undefined 不处理,依然返回obj,不能使用
        return ret instanceof Object ? ret : obj;
    }
    

    相关文章

      网友评论

          本文标题:new操作符做了什么事情,手写实现一个new操作

          本文链接:https://www.haomeiwen.com/subject/hzmpqltx.html