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
キーワード- クラス
- オブジェクト指向プログラミング