2016-06-29 33 views
5

我想要動態地訪問類的方法,使用TypeScript中以前設置的變量的值。動態訪問類TypeScript的方法

事情與此類似:

class Foo { 
    bar(){ } 
} 

var methodName = "bar"; 
var fooBar = new Foo(); 

fooBar.methodName(); // I would like this to resolve to fooBar.bar(); 

例如,在PHP我可以做到以下幾點:

class Foo { 
    public function bar(){ } 
} 

$methodName = "bar"; 
$fooBar = new Foo(); 

$fooBar.$methodName(); // resolves to fooBar.bar(); 

任何人都知道這是可能的,如果是,該怎麼辦呢? 我知道它稍微違背了類型化的語言的想法,但我目前問題的唯一解決方案

回答

7

我們只是要離開強類型(並檢查)世界,而只使用一個JavaScript風格(其仍然有用,例如在這些情況下)

fooBar[methodName]();