参与共建
语言
框架 & 库
其他
模式
当使用 new 操作符创建一个对象时,它会执行以下步骤:
new
创建一个空对象。
将这个空对象的原型([[Prototype]] 即 __proto__属性)指向构造函数的 prototype 属性,实现继承。
[[Prototype]]
__proto__属性
prototype
将构造函数的 this 绑定到新对象,并调用构造函数,传入指定的参数。
this
如果构造函数返回一个对象,则返回该对象;否则返回新创建的对象。
这个过程中,new 操作符会将构造函数视为一个类,而新创建的对象则是这个类的实例。因此,通过 new 操作符创建的对象可以访问构造函数的原型对象上的方法和属性。
JS 实现 new 操作符