new关键字与构造函数一起使用以创建对象在JavaScript中。
下面看看例子:
function Employee(name, position, yearHired) {
this.name = name;
this.position = position;
this.yearHired = yearHired;
};
const emp = new Employee("Marko Polo", "Software Developer", 2017);
new关键字做了4件事:
创建空对象 {}
将空对象分配给 this 值
将空对象的__proto__指向构造函数的prototype
如果没有使用显式return语句,则返回this
根据上面描述的,它将首先创建一个空对象{},然后它将this值赋给这个空对象this={},并向这个对象添加属性。因为我们没有显式的return语句,所以它会自动为我们返回this。