JavaScriptにおけるオブジェクトコンストラクタ
JavaScriptのコンストラクタを使用すると、効率的にオブジェクトを構築できます。同じ構造を持つ多くのオブジェクトを作成するために利用できます。
コンストラクタ関数
コンストラクタは、オブジェクトを初期化するための関数です。呼び出す際は new キーワードを使用してください。new キーワードを忘れると、関数は意図した通りに動作しません。
コンストラクタ名は常に大文字で始めてください。これにより、通常の関数と区別しやすくなります。
例:
- Person(name, age)
Object.create()
Object.create() を使用すると、既存のオブジェクトをプロトタイプとして使用して、新しいオブジェクトを作成できます。このメソッドは、オブジェクト間の継承を確立します。
デフォルト値
コンストラクタ内でデフォルト値を設定できます。これにより、オブジェクトが常に有効なデータを持つことが保証されます。値が提供されない場合、コンストラクタはデフォルト値を使用します。
例:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
プロトタイプとメモリ
プロトタイプにメソッドを追加することで、メモリを節約できます。すべてのオブジェクトが関数のコピーを個別に持つのではなく、プロトタイプにある単一のバージョンを共有します。
例:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
継承
クラスを使用すると、あるクラスを別のクラスから継承させることができます。親コンストラクタを呼び出すには super() キーワードを使用します。これにより、子クラスは親クラスのプロパティやメソッドを使用できるようになります。
なぜコンストラクタを使用するのか?
- 再利用性: 1つのテンプレートから多くのオブジェクトを作成できます。
- 整理: オブジェクトのセットアップロジックを一箇所にまとめて保持できます。
- 初期化: 作成時に即座に特定の値を設定できます。
- 継承: シンプルなものから複雑なオブジェクトを構築できます。
- 保守性: コードの可読性と管理のしやすさが向上します。
Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp
Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96