美文网首页
new 操作符实现

new 操作符实现

作者: 她是我的bug | 来源:发表于2019-02-19 18:25 被阅读0次

    new 在 JavaScript 中是实例化一个对象的操作符

    实现一个 new

    1. 生成了一个新的对象
    2. 链接到原型链
    3. 绑定 this
    4. 返回新的对象

    在调用 new 的过程中会发生以上四件事情,我们也可以试着来自己实现一个 new

    function create() {
      // 创建一个对象
      const obj = new Object()
      // 获得构造函数
      let Con = [].shift.call(arguments)
      // arguments 是一个伪数组,借用 Array.prototype 上的方法转换成真正的数组
      // let args = [].slice.call(arguments)
    
      // 链接原型
      obj.__proto = Con.prototype
      // 绑定 this ,执行构造函数
      let result = Con.apply(obj, arguments)
      // 确保 new 出来的是个对象
      return typeof result === 'object' ? result : obj
    }
    

    相关文章

      网友评论

          本文标题:new 操作符实现

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