[ECMAScript] 谈谈你对es6的module体系的理解

Posted 前端小歌谣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ECMAScript] 谈谈你对es6的module体系的理解相关的知识,希望对你有一定的参考价值。

[ECMAScript] 谈谈你对es6的module体系的理解

es5的模块规范出来之前,前端也实现了比如AMD CMD模块规范,对前端模块进行管理。
es6的模块规范在语言层面实现了模块功能

为什么需要模块化,没有模块化之前,开发者如果想封装代码,需要创建多个文件,并将这些文件作为单独脚本

项目复杂度大的话,链接的文件就多。而且还存在污染全局命名空间的问题,因为这些js脚本中的变量都挂载到全局window对象上,可能产生覆盖,而且你也不知道你用的xx变量是在哪个文件定义的。

要想办法将变量放在函数作用域中,实现私有化

而且,你还必须按顺序依次加载script,才能确保变量可用

也就是说,多文件方案问题很多,es2015就开始支持js模块了

一个模块是一段可以为其他模块提供函数功能的代码块,简单来说就是一个文件,同时它自己可以依赖别的模块里的功能。

这样允许了开发者复用代码,提供了稳定一致的接口,还不会污染全局命名空间,不会向全局对象添加任何内容,而且处于严格模式,多次引入同一模块无效,只会执行一次。

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论



主目录

与歌谣一起通关前端面试题

以上是关于[ECMAScript] 谈谈你对es6的module体系的理解的主要内容,如果未能解决你的问题,请参考以下文章

[ECMAScript] 举例说明你对es6的extends的理解

[ECMAScript] 举例说明你对es6的class的理解

[ECMAScript] 说说你对Babel的了解?

简单谈谈ES6的十大特性

谈谈ES5和ES6的区别

谈谈你对广播的理解?