gpt4 book ai didi

javascript - 使用 module.exports = new Sample 与 module.exports = Sample 导出对象

转载 作者:行者123 更新时间:2023-11-29 20:54:08 28 4
gpt4 key购买 nike

假设一个文件有很多原型(prototype)和函数对象声明代码:

function Sample() {
...
}

Sample.prototype.method1 = () => {
...
}

Sample.prototype.method2 = () => {
...
}

我什么时候需要使用导出这个主要对象?示例:

module.exports = new Sample;

// or

module.exports = Sample;

我有几个问题:

  1. 项目设计的哪些信号会让我决定使用其中之一?

  2. 使用其中一种方法(性能、原型(prototype)继承)是否有任何缺点?

您能否提供一个简短的示例,说明何时使用 module.exports = new Sample 以及何时使用 module.exports = Sample 是良好做法?

最佳答案

这取决于 Sample 是否会被多次实例化。如果它要被任何消费它的实例多次实例化,那么您绝对必须导出Sample类本身。

否则,您可以实例化一个 Sample 并将其导出,确保永远只有一个实例化的 Sample 对象:

module.exports = new Sample();

请务必使用这些括号 - 毕竟您正在调用构造函数。

但在这一点上,创建一个类根本没有那么重要——为什么不导出一个普通对象呢?

关于javascript - 使用 module.exports = new Sample 与 module.exports = Sample 导出对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224831/

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