mdn new
new 调用函数时,该函数将被用作构造函数
类只能用 new 运算符实例化
过程
new Foo(…) 执行时:
-
创建一个空的简单 JavaScript 对象。
为方便起见,我们称之为newInstance。 -
如果构造函数的 prototype 属性是一个对象,则将
newInstance的[[Prototype]]指向构造函数的这个属性;
否则newInstance将保持为一个普通对象,其[[Prototype]]为Object.prototype。 -
使用给定参数执行构造函数,并将
newInstance绑定为this的上下文,
在构造函数中的所有 this 引用都指向 newInstance。 -
如果构造函数返回 引用类型,则该返回值作为 new 表达式的结果。
否则返回构建好的newInstance。










