JavaScriptでclassを使うときのtips

JavaScriptのclassはC++やjavaのclassとは異なる定義が必要な場面がある。

1.定数定義

classで定数を定義するときは、↓このようにする。

    Object.defineProperty(this ,'PHONETIC_A' ,{value: "A of ALPHA"});
    Object.defineProperty(this ,'PI'         ,{value: 3.1416});

thisに続く「PHONETIC_A」や「PI」が定数名、valueの後ろの「A of ALPHA」や3.1416が定数の値になる。これらの定数を参照するには、

var code = this.PHONETIC_A;

と、thisに続けて定数名を書く。

上記の例はjavaScript内の↓と同じ意味になる。

    const PHONETIC_A = "ALPHA";
    const PI         = 3.1416;

2.methodからmethodを呼び出すとき

classのmethod内から同じclass内のmethodを呼び出すときは、↓のように、thisを別の変数(ここではself)に入れて、その変数に呼び出すmethodを繋げる。

class phonetic {
  alpha() {
    ...
    var self = this;
    self.bravo();
    ...
  }

  bravo() {
  ...
  }
}

selfを使わずにthis.bravo()と記述すると、

TypeError: This.bravo is not a function

とエラーになってしまう。

コメント

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