LoginSignup
2
4

More than 3 years have passed since last update.

JavaScript(クラス/インスタンス/コンストラクタ)

Posted at

クラス

オブジェクトを効率よく量産するために、元となる設計図(土台)のことを「クラス」と呼ぶ。

書き方:class クラス名
:point_up:クラス名は大文字から始めるようにする

//例
class User {

}

インスタンス

量産するオブジェクトの設計図(クラス)ができたので、その設計図を元に実際に生成する。
クラスから生成したオブジェクトのことを「インスタンス」と呼ぶ。

書き方:new クラス名()

//例
class  Animal{

}
const Animal = new Animal();

コンストラクタ

インスタンスを生成するときに実行したい処理や設定を追加するための機能のことを「コンストラクタ」と呼ぶ。
クラスの中括弧 { } 内にconstructor() { }と記述する。

//例
class Animal {
  constructor(){
    }
}

ここに書いた処理はインスタンスが生成された直後に実行される。
:point_up:コンストラクタはインスタンスごとに毎回実行される。

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);
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4