JavaScriptのコンストラクターメソッドとは?基本の仕組みと使い方を解説
JavaScriptのコンストラクターメソッドとは
JavaScriptにおけるコンストラクターメソッド(constructor)は、クラス内で生成されるオブジェクトを作成・初期化するための特殊なメソッドです。newキーワードによってインスタンスが生成されるときに自動的に呼び出され、プロパティへの初期値の設定などを行います。
もしクラスにコンストラクターメソッドが定義されていない場合でも問題ありません。その場合はデフォルトコンストラクターが自動的に適用されます。デフォルトコンストラクターは引数を受け取らず、特別な処理を行わない空のメソッドとして動作します。
注意: 1つのクラス内に記述できるコンストラクターメソッドは1つだけです。複数定義しようとするとSyntaxError(構文エラー)が発生します。
継承時の注意点:super()の呼び出し
他のクラスを継承したサブクラスでコンストラクターを定義する場合は、thisを使用する前に必ずsuper()を呼び出す必要があります。super()は親クラスのコンストラクターを呼び出す役割を持ちます。
サンプルコード
以下のコードを実行して、コンストラクターメソッドの実装方法を実際に確認してみましょう。
<html>
<body>
<script>
class Department {
constructor() {
this.name = "Department";
}
}
class Employee extends Department {
constructor() {
super();
}
}
class Company {}
Object.setPrototypeOf(Employee.prototype, Company.prototype);
document.write("<br>"+Object.getPrototypeOf(Employee.prototype) === Department.prototype);
let myInstance = new Employee();
document.write("<br>"+myInstance.name);
</script>
</body>
</html>
コードの解説
- Departmentクラス: コンストラクター内で
this.nameに「Department」という値を設定しています。 - Employeeクラス:
extendsを使ってDepartmentクラスを継承し、コンストラクター内でsuper()を呼び出すことで親クラスの初期化処理を実行しています。 - Companyクラス: コンストラクターを持たないため、デフォルトコンストラクターが自動的に使用されます。
- 実行結果: インスタンス
myInstanceのnameプロパティには、親クラスのコンストラクターで設定された「Department」が出力されます。
-
JavaScript alert()メソッドの使い方を徹底解説!基本構文から実践例まで
JavaScriptのalert()メソッド(Window.alert()とも呼ばれます)は、ユーザーにアラートダイアログボックスを表示するためのメソッドです。省略可能なメッセージ引数を受け取り、OKボタン付きのメッセージをユーザーに表示します。alert()は、処理が成功したことをユーザーに知らせたり、エラーを表示したりする場面でよく使われます。また、alert()は開発ツールとしても便利です。例えば、フォーム送信を処理する関数の中にalert()を配置することができます。一般的には、event.preventDefault()が呼び出された後にalert()を配置します。おさらいすると、e
-
JavaScriptのコンストラクターにプロパティやメソッドを追加する方法
JavaScriptでは、コンストラクター関数に対してprototype(プロトタイプ)を利用することで、後からプロパティやメソッドを追加することができます。この方法で追加したプロパティやメソッドは、そのコンストラクターから生成されたすべてのインスタンスで共有されるため、メモリの面でも効率的です。 サンプルコード 以下は、JavaScriptのコンストラクターにプロパティとメソッドを追加するコード例です。 <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta n