在Python3中,我可以使用魔术函数__new__
,它在类初始化之前执行。这有助于我控制是创建新实例还是使用缓存中的某些实例。
只是一个简单的例子:
class Something:
def __new__(..., someArgument):
# was a class with someArgument initialized somewhere before?
# is yes, then:
return CACHE[someArgument]
# if no, then:
CACHE[someArgument] = Something(someArgument)
return CACHE[someArgument]
那么,我在 ES6 中也可以这样做吗?或者我如何以其他方式控制类初始化?
此问题与 this one 不重复,因为我问是否可以在 JS 中找到一些功能,而上面的主题包含对此功能的讨论。
最佳答案
正如 Justinas 评论的那样,您可以查找 Javascript Factory
。
Javascript Factory 定义用于创建对象的接口(interface),但让子类决定实例化哪个类。 工厂方法
让类将实例化推迟到子类。
您可以在一些地方查找:
Calling Javascript Factory Method
希望有帮助!
关于javascript - 我可以控制 ES6 中类的创建方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56467138/