在 JavaScript 中,new 关键字用于创建一个对象实例。当使用 new 关键字创建对象时,会发生以下几个步骤:
- 创建一个空的对象。
- 将这个空对象的
[[Prototype]]属性设置为构造函数的prototype属性。 - 将这个空对象赋值给构造函数内部的
this关键字,用于初始化属性和方法。 - 如果构造函数返回一个对象,那么返回这个对象;否则,返回第一步创建的对象实例。
以下是一个示例,演示如何使用 new 关键字创建一个对象实例:
function Person(name, age) {
this.name = name;
this.age = age;
}
const person = new Person("John", 30);
console.log(person.name); // "John"
console.log(person.age); // 30在上面的示例中,new Person("John", 30) 会创建一个新的对象实例。在构造函数 Person 中,this.name 和 this.age 会被赋值为 "John" 和 30。最终,new 关键字会返回这个新的对象实例。
需要注意的是,在 JavaScript 中,函数也是对象。因此,我们可以向对象一样定义属性和方法。当我们使用 new 关键字调用一个函数时,这个函数会被视为构造函数,从而创建一个新的对象实例。