说一说new会发生什么?| 面试题

83 阅读1分钟

说一说new会发生什么?

要点: 创建空对象、为对象添加属性、把新对象当作this的上下文、箭头函数不能作为构造函数

答:

new 关键字会进行如下的操作:

1. 创建一个空的简单JavaScript对象(即`{}`); 
2.  为步骤1新创建的对象添加属性`__proto__`,将该属性链接至构造函数的原型对象 ; 
3. 将步骤1新创建的对象作为`this`的上下文 ; 
4. 如果该函数没有返回对象,则返回`this`

new关键字后面的构造函数不能是箭头函数。