プログラミング原人の進化ログ

プログラミング原人の進化論

オレ プログラミング ベンキョウ スル。マナンダ コト カク。

【JavaScript】クラスの基本

JavaScriptのクラスについてまとめておきます。

具体例を交えず構文だけ書いていきます。忘れたときに見返す用です。

クラス

次のようにクラスを定義する。

class クラス名 {
  ...
}

インスタンス

インスタンスの生成は次のように行う。

const インスタンス名 = new クラス名();

メソッド

メソッドを次のように定義する。

class クラス名 {
...
  メソッド名(引数) {
    処理
  }
...
}

クラス内でプロパティにアクセスしたりメソッドを呼び出すときはthisを使う。

this.プロパティ名
this.メソッド名()

コンストラク

インスタンス生成時に実行されるメソッド。次のように定義する。

class クラス名 {
  constructor(引数) {
  処理
  }
  ...
}

クラスの継承

次のようにクラスを継承できる。

class 子クラス名 extends 親クラス名{
  ...
}

クラスを継承することで子クラスで親クラスのメソッドやプロパティを利用でき、それらに加えて新しく定義したものを使えるようになる。

メソッド・コンストラクタのオーバーライド

親クラスで定義されていたメソッドを子クラスで再定義することができる。この結果そのメソッドが子クラスで上書きされることになり、これをオーバーライドという。
コンストラクタのオーバーライドでsuper()を使って親クラスのコンストラクタを呼びすことができる。

class クラス名 extends 親クラス名 {
  constructor(引数1, 引数2, ...) {
    super(引数);    // ここで親クラスのコンストラクタが呼び出される
    新しく追加する処理
  }
}