发布网友 发布时间:2022-06-07 12:39
共1个回答
热心网友 时间:2023-10-18 04:24
在ECMAScript 6中有两种类型的模块处理。一种是通过导入和导出实现的静态方法。另一种是通过全局变量系统实现的动态规划方法(相关标准仍在制定中,当前的API不稳定)。
对于静态方法,代码的静态分析更加轻松,便于代码检测等。动态模式主要用于浏览器端,方便浏览器的异步加载。
静态方法的语法类似于其他语言(如python),开发人员更容易从其他语言切换。
我个人不认为ES6有好坏参半的名声,或者ES6的声誉受损。
许多传统的前端人员可能刚刚开始以一种愚蠢的方式看待ES6的语法:这还是我所知道的js吗?你可能会想,这是一个很大的变化,需要时间去学习,你需要再去做一些事情,这不是有点乱吗?
我开始有了这些想法,但发现在逐渐深入的接触后,ES6真的很值得,因为它让js逐渐成熟,慢慢的可以做一些大的项目。实际上,这些好处在一段时间内并没有损失。
有很多复杂的用法,但看的很复杂,实际上目前使用的Babel翻译是翻译成需要执行的,那不是超出了要求的功能层次,不仅没有超越,也没有强大的要求。假设您使用es5开发了许多NPM库,并且当前es6非常流行,您将使用es6重写其中一些。您可能需要继续使用内部的模块。
对导出模块的书面导出,因为es6导出的内容必须是一个对象,比如您的NPM的库包,需要(“test”)得到一个函数,然后使用es6导出,用户必须使用require(“test”)。默认或要求(“测试”)。Fn可以是这样的。出版后不兼容。