JavaScript 中NEW关键字原理+实现
提示:源码手写系列(个人笔记+总结)
NEW关键字的原理
new 操作符用来创建构造函数的实例,以这种方式调用构造函数会执行如下操作:
- 在内存中创建一个新对象;
- 这个对象内部的[[Prototype]]特性被复制为构造函数的prototype属性;
- 构造函数内部的this被复制为这个新对象(即this指向新对象);
- 执行构造函数内部的代码(给新对象添加属性);
- 如果构造函数返回非空对象,则返回该对象;否则,返回刚创建的新实例。
一、new关键字使用场景
二、手动实现
这是我总结下来最简洁的方法进行手写复现,
apply哪里用call也可以,入参改为…arg就行了
版权声明:本文为weixin_42801026原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。