将Javascript getter作为参数传递

Sie*_*gel 6 javascript ecmascript-6

我有一个ecma6/es2015类,其getter定义如下:

get foo() { return this._foo; }
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是将该函数作为参数传递.拨打电话是这样的:

someFunction(myClass.foo); 
Run Code Online (Sandbox Code Playgroud)

将简单地调用该函数.有没有一种干净的方法我可以在不调用它的情况下传递方法然后在传递中调用我传递给它?

Ama*_*dan 8

我假设你必须将它包装成一个匿名函数,以防止它被执行:

someFunction(() => myClass.foo);
Run Code Online (Sandbox Code Playgroud)

或者,您可以获得getter函数本身,但它的可读性低于上述:

someFunction(Object.getOwnPropertyDescriptor(myClass, 'foo').get);
Run Code Online (Sandbox Code Playgroud)