- 在内存中创建一个新对象。
- 这个新对象内部的[[Prototype]]/对象原型被赋值为构造函数的prototype属性/原型对象。
AATEENTION:
[[Prototype]]等价于__prototype__。
- 构造函数内部的this被赋值为这个新对象(即this指向新对象) 。
- 执行构造函数内部的代码(给新对象添加属性和方法) 。
- 如果构造函数返回非空对象,则返回该对象;否则返回刚创建的新对象(所以构造函数里面不需要return)。
eg:
function Test(name) {
this.name = name;
return { age: 26 };
}
const t = new Test('xxx');
console.log(t); // { age: 26 }
console.log(t.name); // undefined