导出的最佳做法是什么?Javascript导出类或对象
class MyUtils {
print() {...}
convert() {...}
}
export default new MyUtils();
或者:
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
还是别的什么?
注:这应该是一个单身,不超过1个实例
导出的最佳做法是什么?Javascript导出类或对象
class MyUtils {
print() {...}
convert() {...}
}
export default new MyUtils();
或者:
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
还是别的什么?
注:这应该是一个单身,不超过1个实例
如果它是一个单例,只导出对象。你应该像下面那样导出这个类,并且只有当你多次使用它时。 (毕竟一类的一点是,它应该像创建多个对象的模板功能)
export default class MyUtils {
print() {...}
convert() {...}
}
你的第二个选项应该适用于单身,这就是我正常使用。从费利克斯的评论,我得到的模块是单身的,选项1也可以。我仍然倾向于采用第二种选择,因为代码使得我非常清楚地使用单例。
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
第一个选项每次都创建一个新对象吗?我用'console.log'添加了一个'constructor',并将它导入到多个文件中,并且只打印一次? – Vic
@Vic:模块只评估一次。 –
通常导出一个对象作为默认导出有点反模式。你最好的选择是做
export function print() {...}
export function convert() {...}
然后做
import * as utils from "./utils";
完全避免创建对象,并依靠模块对象本身作为你的命名空间。
您可以对类进行以下操作:'export default class MyUtils {}' –
您是打算在每次使用时创建一个对象实例还是一个新实例? – Trendy
更新了我的问题,这应该是一个单身人士 – Vic