JavaScript/コンストラクタ
コンストラクタ
編集基本概念
編集コンストラクタは、JavaScriptにおいてオブジェクトのインスタンスを生成するための特別な関数です。新しいオブジェクトを作成し、初期化するために使用されます。
構文
編集コンストラクタは、通常、大文字で始まる関数名で定義されます:
function Person(name, age) { this.name = name; this.age = age; }
インスタンス生成
編集new
キーワードを使用してコンストラクタからインスタンスを作成します:
let john = new Person('John Doe', 30);
プロトタイプメソッド
編集コンストラクタのプロトタイプにメソッドを追加できます:
Person.prototype.sayHello = function() { console.log(`こんにちは、私の名前は${this.name}です`); };
ES6クラス構文
編集モダンなJavaScriptでは、クラス構文を使用してコンストラクタを定義できます:
class Person { constructor(name, age) { this.name = name; this.age = age; } sayHello() { console.log(`こんにちは、私の名前は${this.name}です`); } }
注意点
編集new
キーワードを忘れると、this
が意図しない値を参照する可能性があります- アロー関数はコンストラクタとして使用できません
instanceof
演算子でオブジェクトのインスタンス型を確認できます
高度な使用例
編集プライベートフィールドの実装
編集ES2022以降、プライベートフィールドをサポートしています:
class BankAccount { #balance; // プライベートフィールド constructor(initialBalance) { this.#balance = initialBalance; } deposit(amount) { this.#balance += amount; } }
関連概念
編集- プロトタイプ継承
this
キーワード- クラス
- オブジェクト指向プログラミング