JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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クラス: コンストラクターを持たないため、デフォルトコンストラクターが自動的に使用されます。
  • 実行結果: インスタンスmyInstancenameプロパティには、親クラスのコンストラクターで設定された「Department」が出力されます。
  1. JavaScript alert()メソッドの使い方を徹底解説!基本構文から実践例まで

    JavaScriptのalert()メソッド(Window.alert()とも呼ばれます)は、ユーザーにアラートダイアログボックスを表示するためのメソッドです。省略可能なメッセージ引数を受け取り、OKボタン付きのメッセージをユーザーに表示します。alert()は、処理が成功したことをユーザーに知らせたり、エラーを表示したりする場面でよく使われます。また、alert()は開発ツールとしても便利です。例えば、フォーム送信を処理する関数の中にalert()を配置することができます。一般的には、event.preventDefault()が呼び出された後にalert()を配置します。おさらいすると、e

  2. JavaScriptのコンストラクターにプロパティやメソッドを追加する方法

    JavaScriptでは、コンストラクター関数に対してprototype(プロトタイプ)を利用することで、後からプロパティやメソッドを追加することができます。この方法で追加したプロパティやメソッドは、そのコンストラクターから生成されたすべてのインスタンスで共有されるため、メモリの面でも効率的です。 サンプルコード 以下は、JavaScriptのコンストラクターにプロパティとメソッドを追加するコード例です。 <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta n