gpt4 book ai didi

javascript - 模块模式对象可以从构造函数模式对象继承吗?

转载 作者:行者123 更新时间:2023-12-03 05:05:13 25 4
gpt4 key购买 nike

(我对 javascript 和整个原型(prototype)/继承概念有点陌生,所以如果这是一个愚蠢的问题,我很抱歉)

在我的代码库中,我有一个混合的 Revealing-Module-Pattern 类型的对象,然后我还有使用构造函数模式的对象(其中实例被更新)。

我还有一个提供 EventEmitter 功能的代码块(以构造函数类型模式编写)。是否可以将此代码用作构造函数模式对象和显示模块模式对象的基类?尝试这样做是否有意义?

最佳答案

首先,只有“构造函数类型模式”对象遵循传统的继承形式,其中一个类扩展另一个类并创建对象的实例。

“Revealing-module-pattern”只是一种封装数据并仅公开部分数据的方法,当您使用时,没有实例的概念使用该模式。
如果您想重用此类“普通旧对象”中的代码,可以使用 "prototypal inheritance" ,这仅仅意味着您的子对象每次被请求提供它没有的成员时都会指向父对象。

在这两种情况下,您都使用 Object.create要创建具有其他原型(prototype)对象的对象,请查看 examples at MDN .

另请注意,ES2015 已发布,并且通过 Nice native syntactic sugar 使经典 OOP 变得更容易以classextends的形式。

关于javascript - 模块模式对象可以从构造函数模式对象继承吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42034951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com