我正在开发一个JS库。
用户在某处将类引用(不是实例!)传递给我的工厂对象之一。现在,我想检查这个类是否实现了某个接口。
如果我有一个实例,我可以很容易地检查它是否包含接口的方法,但是,我有一个类,并且不知道如何实例化它。是否还有一种方法可以检查(在运行时)类是否实现了所需的方法?
目前,我强制用户传递该类的实例,这有点烦人,因为我只需要该类。
答案 0 :(得分:0)
类或多或少只是构造函数的语法糖。因此,类方法是构造函数的prototype
属性的属性。所以你可以做到
typeof SomeClass.prototype.someMethod === 'function'
当然,只有在方法实际定义为"类方法"而不是在构造函数中创建。