Javascript 导出默认myVar和导出默认myFunc()之间的差异

Javascript 导出默认myVar和导出默认myFunc()之间的差异,javascript,ecmascript-6,export,Javascript,Ecmascript 6,Export,以下各项之间是否存在性能差异: const myVar = myFunc() export default myVar 以及: 我更喜欢第二种符号(更简洁,代码更少),但我不知道它是否对性能有影响。加载此模块的每个代码都将指向相同的引用,或指向新的引用?在这种情况下没有区别 您只需使用别名 因此每次引用都是相同的。您可以在这里找到非常好的解释: 和 这是一样的myFunc()将只调用一次。“加载此模块的每个代码都将指向相同的引用,或指向新的引用?”模块总是只评估一次(第一次加载)。仅链接的答案

以下各项之间是否存在性能差异:

const myVar = myFunc()
export default myVar
以及:


我更喜欢第二种符号(更简洁,代码更少),但我不知道它是否对性能有影响。加载此模块的每个代码都将指向相同的引用,或指向新的引用?

在这种情况下没有区别

您只需使用别名


因此每次引用都是相同的。

您可以在这里找到非常好的解释: 和

这是一样的
myFunc()
将只调用一次。“加载此模块的每个代码都将指向相同的引用,或指向新的引用?”模块总是只评估一次(第一次加载)。仅链接的答案被视为质量差。它似乎也没有解决这个问题。我知道导入/导出是如何工作的,这并没有回答我的问题。@soywod道歉,记下笔记。好的,第二个被认为是一种不好的做法吗?我不常看到这种情况,但我喜欢这个主意。即使使用
export default function(){…}
,但似乎并不常见。@soywod最常见的做法(我认为也是很好的做法)是从文件中导出一个对象,其中包含一个道具列表。因此,您将有一个文件的单例接口。您的所有导入都将具有相同的结构。而且它们的可扩展性更好。至于一个文件只导出一件东西,如果使用第1个或第2个,这没有什么大意义,但是更好的选择是一个具有1个字段的对象(对于相同的导入/导出结构),我的看法有点不同。使用默认导出的事实迫使您自己应用单一责任模式。我从来没有一个以上的导出要按文件进行(事实上除了类型,所以我使用
import myFunc,{MyType}from…
)。这就是我经常使用默认值的原因,也是我使用这个
export default function(){…}
的原因。
export default myFunc()