(我对javascript和整个原型/继承概念有点新,所以如果这是一个愚蠢的问题我很抱歉)
在我的代码库中,我有一个关于Revealing-Module-Pattern类型对象的混搭,然后我也得到了使用Constructor-Pattern的对象(实例得到了新的实现)。
我还有一个代码块(用构造函数类型模式编写),它提供了EventEmitter功能。是否可以将此代码用作构造函数模式对象和Revealing-Module-Pattern对象的基类? 尝试这样做是否有意义?
答案 0 :(得分:1)
首先,只有“constructor-type-pattern”对象遵循传统的继承形式,其中一个类扩展另一个类,并创建对象的实例。
“Revealing-module-pattern”只是一种封装数据并只暴露部分数据的方式,当你没有实例和类的概念时使用那种模式。
如果要重用这种“普通旧对象”中的代码,可以使用"prototypal inheritance",这意味着每次要求成员时,子对象都会指向父对象。有。
在这两种情况下,您使用Object.create
创建具有原型的其他对象的对象,请查看examples at MDN。
另请注意,ES2015已经完成,并且class
和extends
形式的native syntactic sugar很容易使经典OOP更容易。