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