まとめ
クラスとは
クラスはオブジェクトを作成するためのテンプレートです。処理するためのコードでデータをカプセル化します。
※mdn web docs
コンストラクタとは
クラスで作成したオブジェクトを作成して初期化するための特別なメソッドです。 "constructor" という名前の特別なメソッドは、クラスに 1 つしか定義できません。クラスに複数の constructor メソッドが存在した場合、SyntaxError が発生します。
※mdn web docs
メソッドとは
メソッドはクラスごとにプロトタイプに定義され、すべてのインスタンスで共有されます。メソッドには、プレーン関数、非同期関数、ジェネレーター関数、非同期ジェネレーター関数があります
※mdn web docs
目次
使用するコード
//クラス
class Person {
//コンストラクタ(特別なメソッド)
constructor(name, age) {
//プロパティ
this.name = name;
this.age = age;
}
//メソッド
greet() {
console.log('Hello, ' + this.name);
}
}
//クラスを用いたインスタンスの生成
const john = new Person('John', 30);
// インスタンスのメソッドの呼び出し
john.greet(); // 出力: Hello, John
クラスとは
- オブジェクトを生成するための設計図(テンプレート)です。クラスにはプロパティとメソッドを定義することができ、そのクラスから生成されたオブジェクトはそれらのプロパティとメソッドを継承します。
クラス
class Person {
// クラスの中身(プロパティとメソッド)を定義
}
解説
-
Personという名前のクラスを定義しています。このクラスは、人の情報を表現するためのプロパティとメソッドを持ちます。
コンストラクタとは
- クラスから新しいインスタンス(オブジェクト)が生成されるときに呼び出される特別なメソッドです。コンストラクタを使って、インスタンスの初期化を行います。
コンストラクタ
constructor(name, age) {
this.name = name;
this.age = age;
}
解説
-
constructorは、クラスのインスタンスが作成されるときに実行される特別なメソッド(コンストラクタ)です。 -
nameとageはコンストラクタの引数で、新しいインスタンスのnameとageプロパティを初期化するために使われます。 -
this.name = nameによって、クラスのインスタンスのnameプロパティが初期化されます。同様に、this.age = ageによってageプロパティが初期化されます。
プロパティとは
クラスのインスタンスが持つデータや属性を表します。プロパティは、コンストラクタ内で初期化され、クラスのインスタンスによって保持されます。
プロパティ
this.name = name;
this.age = age;
解説
-
nameとageはPersonクラスのプロパティです。 - これらのプロパティは、クラスのインスタンスごとに異なる値を持つことができます。
メソッドとは
- クラスやオブジェクトに関連付けられた関数です。メソッドはクラスのインスタンスによって呼び出され、インスタンスのプロパティにアクセスしたり、操作を行ったりします。
メソッド
greet() {
console.log('Hello, ' + this.name);
}
解説
-
greetはPersonクラスのメソッドです。 - このメソッドは
this.nameプロパティを使用して、挨拶のメッセージをコンソールに表示します。
活用例1
Personクラスを使ってインスタンスを生成し、そのインスタンスのメソッドを呼び出します。
const john = new Person('John', 30);
john.greet(); // 出力: Hello, John
解説
-
const john = new Person('John', 30)はPersonクラスの新しいインスタンスを生成します。このとき、constructorメソッドが呼び出されnameとageが設定されます。 -
johnはPersonクラスのインスタンスです。johnインスタンスにはnameプロパティとしてJohn、ageプロパティとして30が設定されています。 -
john.greet()はjohnインスタンスのgreetメソッドを呼び出します。このメソッドは、Hello, Johnというメッセージをコンソールに出力します。