9.7Classes & Constructors / Methods Use This

インスタンスメソッドは`this`を使用する

クラスメソッドは`this`を使用するか、静的メソッドにするべきです。インスタンスメソッドであることは、それがレシーバーのプロパティに基づいて異なる振る舞いをすることを示すべきです。

メソッドが `this` を使わない場合、そのメソッドの動作は特定のインスタンスの状態に依存しないことを意味します。そのようなメソッドは、クラスのインスタンス化なしに呼び出せる `static` メソッドとして定義する方が、その役割が明確になります。あるいは、クラスとは無関係なユーティリティ関数としてクラスの外に定義することも検討できます。

❌ Bad
// bad
class Foo {
  bar() {
    console.log('bar');
  }
}
✅ Good
// good - this is used
class Foo {
  bar() {
    console.log(this.bar);
  }
}

// good - static methods aren't expected to use this
class Foo {
  static bar() {
    console.log('bar');
  }
}