什么是new运算符?
根据mdn定义:new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象实例。
new关键字会进行如下的操作:
1.创建一个新对象
2.链接该对象到另一个对象,即链接到原型
3.绑定this
4.返回新对象
以下是实现一个new运算符的分析:
1.获取构造函数
2.创建新对象并链接原型
3.绑定this并调用构造函数
4.返回该对象
以下代码为其实现:
function create(){ const F = [].shift.call(arguments) const obj = Object.create(F.prototype) F.apply(obj,arguments) return obj }