Javascript new意思

在JavaScript中,new是一個關鍵字,用於創建一個對象或者實例化一個類。當使用new操作符時,它會執行以下步驟:

  1. 創建一個空對象。
  2. 將這個空對象的原型(prototype)指向構造函式的原型對象(即constructor.prototype)。
  3. 將這個空對象賦給一個臨時變數。
  4. 如果構造函式有prototype屬性,則將this指向這個臨時變數。
  5. 調用構造函式,並將this指向這個臨時變數。
  6. 如果構造函式沒有返回其他對象,則將這個臨時變數返回。

下面是一個簡單的例子:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.greet = function() {
  console.log('Hello, my name is ' + this.name);
};

let person1 = new Person('John', 30);
console.log(person1.name); // John
console.log(person1.age); // 30
person1.greet(); // Hello, my name is John

在這個例子中,Person是一個構造函式,它使用new操作符來實例化一個新對象。person1Person構造函式的一個新實例。person1對象具有自己的屬性和方法,同時也繼承了Person.prototype中的屬性和方法。