一段时间以来,我一直在使用ES6随附的模块。虽然我(本能地)知道使用它们会更好,但我仍在努力解释原因。
带有模块;
除此之外,为什么还要使用模块?
与仅将对象用作名称空间相比,它们具有什么优势?
编辑:
多亏了Bergi和Randy Casburn的评论,我现在可以指出另外两件事。
使用模块模式(我一直称其为命名对象空间),我们具有相同的功能。但是我们通过闭包得到它。在模块中,我们有单独的文件。单独文件的功能很难被侵犯。
模块隐藏其内部功能。它促使我们思考更好的软件设计。
答案 0 :(得分:0)
回答我自己的问题。感谢您的评论。
模块化对于软件来说是必须的。在使用ES Modules之前,我们是通过 Module Pattern (只是将相关内容放入对象中)来实现模块的。在ES6中,模块是本机的。并且本地始终是更好的选择。
在模块模式中,我们制作了带有闭包的模块。在ES模块中,我们将它们编码在单独的文件中。
模块促使我们设计更好的软件。
借助ES6模块,我们现在可以将Javascript模块(这些文件位于单独的文件中)添加到我们的网络应用中,而无需将其包含在脚本标签中。