将Javascript getter作为参数传递

将Javascript getter作为参数传递,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个ecma6/es2015类,其getter定义如下: get foo() { return this._foo; } 我希望能够做的是将该函数作为参数传递。打这样的电话: someFunction(myClass.foo); 将只调用函数。是否有一种干净的方法可以在不调用方法的情况下传递该方法,然后在传递过程中调用?我不确定是否理解您的意思,您是指定义函数并将其传递给另一个函数(作为函数)以供稍后调用的方法 像这样的 var myFunc=function(){ console.

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

get foo() { return this._foo; }
我希望能够做的是将该函数作为参数传递。打这样的电话:

someFunction(myClass.foo); 

将只调用函数。是否有一种干净的方法可以在不调用方法的情况下传递该方法,然后在传递过程中调用?

我不确定是否理解您的意思,您是指定义函数并将其传递给另一个函数(作为函数)以供稍后调用的方法

像这样的

var myFunc=function(){
console.log('func');
document.getElementById('result').innerHTML='func';
}
log('start');
document.getElementById('result').innerHTML='start';
设置超时(myFunc,3000);
console.log('end');
document.getElementById('result').innerHTML='end'

default
我假设您必须将其包装到一个匿名函数中,以防止其被执行:

someFunction(() => myClass.foo);
或者,您可以获取getter函数本身,但它的可读性不如上面的:

someFunction(Object.getOwnPropertyDescriptor(myClass, 'foo').get);

我认为这是正确的想法。如何在方法内部调用匿名函数?这是一个普通函数,只需执行它(在这两种情况下)<代码>函数someFunction(fooFunc){var fooVal=fooFunc();}