Kakera.link

jQueryからTypescriptへ 6

1.4 クラスのconstructorについて

前回、TypeScriptの基本的な文法について学びました。特にクラスの宣言について見てきましたが、その中でconstructorという特殊なメソッドについて触れました。今回は、このconstructorについて詳しく見ていきましょう。

1.4.1 constructorとは

constructorは、クラスがインスタンス化される際、つまり新しいオブジェクトが作成される際に自動的に呼び出される特別なメソッドです。そのため、クラス内で定義した変数(プロパティ)の初期化など、オブジェクトが作成されるときに必要な処理をこのconstructor内に書くことが多いです。

class Person {
    name: string;
    age: number;

    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }
}

上記のコードでは、Personクラスにnameageという2つのプロパティがあります。そして、constructornameageという2つのパラメータを受け取り、それぞれをthis.namethis.ageに代入しています。

ここでのthisは、作成されるオブジェクト自身を指します。つまり、this.name = name;という行は、「作成されるこのオブジェクトのnameプロパティに、constructorの引数として渡されたnameを代入する」という意味になります。

1.4.2 constructorの利用

それでは、実際にPersonクラスのインスタンスを作成してみましょう。

let john = new Person("John Doe", 25);

このコードでは、newキーワードを使ってPersonクラスの新しいインスタンス(オブジェクト)を作成しています。その際、Personクラスのconstructorに定義されたパラメータに対応する値(この場合は"John Doe"と25)を引数として渡しています。

このとき、constructorが自動的に呼び出され、this.name = name;this.age = age;という行により、作成されるオブジェクトのnameプロパティには"John Doe"が、ageプロパティには25がそれぞれ代入されます。

以上が、クラスのconstructorについての基本的な説明です。constructorはクラスの中心的な部分であり、オブジェクト指向プログラミングの理解にも重要な役割を果たします。次回は、TypeScriptの型システムについて学んでいきましょう。

最終更新: 2023/07/16 02:14