ES6模块:函数和变量在全局空间中不可用

时间:2019-04-04 02:29:51

标签: es6-modules

是ES6模块中所有内容的一部分。 例如。如果我写文件。

function simpleFunc(){
 console.log("test")
}

此功能在其他地方不可用吗?在常规javascript中,也可以从html脚本中执行此功能。

模块的整体概念是什么?我知道污染全局名称空间是一个坏习惯,但是当我们导出函数或const时,这仅仅是避免污染全局名称空间的一种方法。开发人员是否仍可以在js文件中编写var a= 10并浪费所有维护模块的精力。我想这仍然可行,因为es6应该与js向后兼容。

我的问题简单地归结为:当语言为ES6时,js文件是否有所不同。

1 个答案:

答案 0 :(得分:1)

不确定为什么没有人回答这个问题,这是一个简单的答案,所以我会回答,以防其他人偶然发现:

JavaScript是javascript。

ES5惯例在脚本放置方面仍然适用于ES6。模块化允许您将代码从一个脚本导入到另一个脚本-这可以帮助您使大型应用程序可维护以及许多其他结构上的好处。 另外,不污染全局名称空间是正确的-模块也是名称空间容器,可以保护全局名称空间。

以下是explanation(完整)中模块的重要性的引文:

  

模块化是任何软件开发的基本必要条件。将事物分解为更小的功能,使我们能够重用代码。模块也是命名空间的容器。

相关问题