JavaScript コンストラクタ関数

同じ構造を持つ多くのオブジェクトを作成するには、コンストラクタ関数を使用します。

コンストラクタ関数は設計図(ブループリント)として機能します。new キーワードを使用して、この設計図からオブジェクトを構築します。コンストラクタの名前は、大文字で始める必要があります。

仕組み:

new キーワードを使用すると、JavaScriptは次の4つの操作を行います。

this キーワードは不可欠です。関数内では、this は作成された新しいオブジェクトを指します。

例:

function Employee(name, salary) {
    this.name = name;
    this.salary = salary;
}

const emp1 = new Employee("Ram", 50000);
const emp2 = new Employee("Kumar", 60000);

両方のオブジェクトは同じ構造を共有しています。

メソッドの追加:

コンストラクタ内に関数を追加できます。

function Employee(name, salary) {
    this.name = name;
    this.salary = salary;
    this.displayInfo = function() {
        console.log(this.name + " earns " + this.salary);
    };
}

メモリ管理:

コンストラクタ内に直接メソッドを追加すると、オブジェクトごとに新しいコピーが作成されます。これにより、より多くのメモリを消費します。

代わりに、prototype プロパティを使用します。

Employee.prototype.greet = function() {
    console.log("Hello " + this.name);
};

これにより、すべての従業員が greet メソッドの単一のコピーを共有するようになります。これにより、コードの効率が向上します。

まとめ:

出典: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k