メソッド簡易記法

オブジェクトのプロパティに格納されている関数をメソッドという。オブジェクト.メソッド名()のように実行する。ここでは下記のうち簡易記法によるメソッドについて。

  1. 関数やクラス(そのインスタンス)のプロパティにあるもの: クラス宣言
  2. 普通のメソッド: 1以外で関数をオブジェクトのプロパティに単に代入したもの
  3. 2の簡易記法
let オブジェクト = {
  // 普通のメソッドはオブジェクトのプロパティに格納する方法
  普通のメソッド: function() { /* 本体(以下同様) */},
  メソッドアロー関数: () => {},
  メソッドジェネレータ: function*() {},
  
  // 簡易記法
  簡易記法() {},
  *ジェネレータ簡易記法() {} // 先頭にアスタリスク
}

// 実行はいずれもオブジェクト.メソッド名()のようにする
オブジェクト.普通のメソッド()
オブジェクト.簡易記法()

// 簡易記法ではコンストラクタを利用できないが、
// new オブジェクト.簡易記法() // TypeError
// 普通のメソッドはnew演算子を使えてしまう。
new オブジェクト.普通のメソッド()
// (アロー関数とジェネレータはコンストラクタを利用できない)