小的、组织良好的代码远比庞大的代码更容易理解和维护。优化程序结构和组织方式的一种方式是将代码拆分成小的、松散的片段或模块。
在E6之前,没有内置的模块,开发者们不得不创造性地发挥JS现有的特性,最流行的方式之一是通过立即执行函数的闭包实现模块。
使用立即执行函数创建定义模块变量的闭包,从外部作用域无法访问这些变量。使用闭包可以使模块变量保持活跃。最流行的是模块模式,通常采用立即执行函数,并返回一个新对象作为模块的公共接口。ES6结合了AMD和commonJS的特点,语法如commonJS简单,并提供AMD类似的异步加载机制。
ES6模块基于文件,一个文件为一个模块通过关键字export导出标识符在其他模块通过import引入标识符模块可以使用默认导出,使用export default导出整个模块export与import都可以通过关键字as使用别名