クラス
オブジェクトを効率よく量産するために、元となる設計図(土台)のことを「クラス」と呼ぶ。
書き方:class クラス名
クラス名は大文字から始めるようにする
//例
class User {
}
インスタンス
量産するオブジェクトの設計図(クラス)ができたので、その設計図を元に実際に生成する。
クラスから生成したオブジェクトのことを「インスタンス」と呼ぶ。
書き方:new クラス名()
//例
class Animal{
}
const Animal = new Animal();
コンストラクタ
インスタンスを生成するときに実行したい処理や設定を追加するための機能のことを「コンストラクタ」と呼ぶ。
クラスの中括弧 { } 内にconstructor() { }
と記述する。
//例
class Animal {
constructor(){
}
}
ここに書いた処理はインスタンスが生成された直後に実行される。
コンストラクタはインスタンスごとに毎回実行される。
class Animal {
constructor(){
console.log(“こんにちは!”);
}
}
const animal1 = new Animal();
const animal2 = new Animal();
//コンソール
こんにちは!
こんにちは!
//↑↑↑インスタンスが二つ設定されているので、2回処理が実行された。
コンストラクタの中で、生成したインスタンスに関する情報を追加してみる。
コンストラクタの中でthis.プロパティ = 値
とすることで、生成されたインスタンスにプロパティと値を追加することができる。
//例
class Animal {
constructor(){
this name = “バルー”;
}
}
インスタンスとはオブジェクトなので、コンストラクタの中で追加した値は、インスタンス.プロパティ
とすることでクラスの外で使用できる。
//例
class Animal {
constructor(){
this name = “バルー”;
}
}
const animal = new Animal();
console.log (animal.name);
//コンソール
バルー
コンストラクタの引数
コンストラクタでは、引数を受け取ることが可能。
「constructor」の後の括弧「( )」内に引数名を記述することで、その引数をコンストラクタの処理内で使用できる。
//例
class Animal {
constructor(name,age){
//処理
}
}
コンストラクタに引数として値を渡すには、「new クラス名()」の括弧「( )」内に値を追加する。
//例
class Animal {
constructor(name,age){
//処理
}
}
const animal = new Animal(“バルー”,3);