美文网首页
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

    什么是new操作符 new会生成一个实例对象,该对象的this指向该实例 实现一个new操作符

  • new操作符

    最近在掘金上看到大佬 yck 的文章 重学 JS 系列:聊聊 new 操作符把new操作符的作用,如何自己实现ne...

  • JavaScript手写代码无敌秘籍

    1实现一个new操作符 new操作符做了以下事情: 1、创建了一个全新的对象2、会被执行[[Prototype]]...

  • 第14题- new操作符内部实现原理

    面试题目: new 操作符内部实现原理是什么? 答案解析: new 操作符经常被用到,用面向对象语言们通用的观点来...

  • new 操作符实现

    new 在 JavaScript 中是实例化一个对象的操作符 实现一个 new 生成了一个新的对象 链接到原型链 ...

  • 实现new操作符

    1.首先函数接受不定量的参数,第一个参数为构造函数,接下来的参数被构造函数使用2.然后内部创建一个空对象 obj3...

  • 模拟实现 new 操作符(js)

    title: 模拟实现 new 操作符date: 2019/10/22 21:30:25categories: 面...

  • JS手动实现一个new操作

    要手动实现一个 new 操作符,首先要知道 new 操作符都做了什么事,即构造函数的内部原理:1.创建一个新对象;...

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

    new操作符做了什么事情,手写实现一个new操作 答: var obj = {} //创建一个空对象。 obj...

  • js中new操作符做了什么并实现自己的new操作符

    我们通过new运算符的使用,来探寻new操作符在执行的过程中究竟做了哪些操作,并且根据操作实现自己的new运算符。...

网友评论

      本文标题:new 操作符实现

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