如何从 javascript 中的方法引用中检索 class?
How can I retrieve a class from a method reference in javascript?
我想这样做:
function call(method) {
const object = // Retrieve the class that declares the method and then construct an instance dynamically.
method.call(object) // So 'this' is bound to the instance.
}
call(MyClass.prototype.myMethod)
call(AnOtherClass.prototype.anOtherMethod)
我的目标是从依赖容器创建实例。这就是为什么该方法必须绑定到一个实例,该实例将具有 class.
所需的所有依赖项
如果不进行一些重组,您将无法自动执行此操作。如果是我,我会将 class 作为参数传递:
function call(theClass, method) {
const instance = new theClass();
method.call(instance);
}
call(MyClass, MyClass.prototype.myMethod)
call(AnOtherClass, AnOtherClass.prototype.anOtherMethod)
或者,您可以只传递第二个参数的原型方法名称:
function call(theClass, method) {
const instance = new theClass();
instance[method]();
}
call(MyClass, 'myMethod')
call(AnOtherClass, 'anOtherMethod')
我想这样做:
function call(method) {
const object = // Retrieve the class that declares the method and then construct an instance dynamically.
method.call(object) // So 'this' is bound to the instance.
}
call(MyClass.prototype.myMethod)
call(AnOtherClass.prototype.anOtherMethod)
我的目标是从依赖容器创建实例。这就是为什么该方法必须绑定到一个实例,该实例将具有 class.
所需的所有依赖项如果不进行一些重组,您将无法自动执行此操作。如果是我,我会将 class 作为参数传递:
function call(theClass, method) {
const instance = new theClass();
method.call(instance);
}
call(MyClass, MyClass.prototype.myMethod)
call(AnOtherClass, AnOtherClass.prototype.anOtherMethod)
或者,您可以只传递第二个参数的原型方法名称:
function call(theClass, method) {
const instance = new theClass();
instance[method]();
}
call(MyClass, 'myMethod')
call(AnOtherClass, 'anOtherMethod')