ECMA Script6(JavaScript)でclassを作成する

ECMA Script6(JavaScript)でclassを作成する

ECMA Script6(JavaScript)でclassを作成できるようになりました。

以下簡単なクラスです。

class Sample {

  constructor(name) {
    this.name = name;
  }

  bow() {
    console.log(name);
  }
}

constructorはオーバーロードできず、一つのみとなります。

またメソッドもstaticメソッドを作成することができるようになりました。

Logクラスなどを作成する場合はinfoやwarnメソッドをstaticメソッドなどにすると良いのでは、と思います。

メソッドの前にstaticとつけるだけです。

継承できる

クラスを継承することができるようになりました。

記述方法はJavaと同じく以下のとおりです。

class Sample extends OyaClass {
  constructor() {
    super();
  }
…
}

superを使うことも可能です。

基本的にメソッドはpublicです。コーディング規約で_(アンダースコア)を先頭に付けたメソッドはprivateとして見なす、というのが一般的です。

Felix's Node.js Style Guide(和訳)

constructorの引数にオブジェクトを渡す

constructorの引数は文字列や数値に限らず、オブジェクトも渡すことができます。

以下のように記述することができます。

class Sample {

  constructor({name, id}) {
    this.name = name;
    this.id   = id;
  }

  bow() {
    console.log(name);
    console.log(id);
  }
}

コメント

タイトルとURLをコピーしました