やるしかなっちゃん

やるしかない!

JavaScriptでインスタンスメソッドの動的呼び出し

Pythonではインスタンスメソッドを動的に呼び出すにはgetattrを使えば実現できる

class Hello:
  def greet(self):
    print("hello~")

  def run(self, name):
    method = getattr(self, name)
    method()

hello = Hello()
hello.run("greet") # hello~

JavaScriptで同じことをやりたい時によくわからなかったので次の様に実装した

class Hello {
  greet() {
    console.log("hello~");
  }

  run(name) {
    this[name].call(this);
  }
}

const hello = new Hello();
hello.run("greet"); // hello~

あってるのかこれ?