JavaScript 中NEW关键字原理+实现

JavaScript 中NEW关键字原理+实现

提示:源码手写系列(个人笔记+总结)


NEW关键字的原理

new 操作符用来创建构造函数的实例,以这种方式调用构造函数会执行如下操作:

  1. 在内存中创建一个新对象;
  2. 这个对象内部的[[Prototype]]特性被复制为构造函数的prototype属性;
  3. 构造函数内部的this被复制为这个新对象(即this指向新对象);
  4. 执行构造函数内部的代码(给新对象添加属性);
  5. 如果构造函数返回非空对象,则返回该对象;否则,返回刚创建的新实例。

一、new关键字使用场景

在这里插入图片描述

二、手动实现

在这里插入图片描述

这是我总结下来最简洁的方法进行手写复现,
apply哪里用call也可以,入参改为…arg就行了


版权声明:本文为weixin_42801026原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。