首页 > Web开发 > 详细

比较CommonJS规范 和ES6模块化规范

时间:2020-03-15 00:52:45      阅读:105      评论:0      收藏:0      [点我收藏+]

一  对于基本数据类型和复杂数据类型的使用方式不同;

1  CommonJS

  (1)对于基本数据类型,采用复制副本的方式(不影响原值)

  (2)对于复杂数据类型,采用对象引用的方式(修改时影响原值)

2  ES6

  (1)ES6中,基本/复杂类型都属于“动态只读引用”

    只读:不论是基本数据类型还是复杂数据类型,只要import进来的变量,都是只读的;

    动态:原模块中的值发生变化,import加载的值也会发生变化,不论是基本数据类型还是复杂数据类型

  (2)原理:

    当import引入一个模块时,就会生成一个指向原模块对象的只读引用。脚本真正执行时,再根据这个只读引用,到被加载的那个模块里面去取值。

 

二  当加载同一个模块时,CommonJS是在首次加载时执行。而ES6会先分析模块依赖关系,才按依赖关系执行。

  CommonJS会按引入顺序执行模块里面的内容,且多次被引入模块只执行一次;

  ES6会先判断引入的顺序,先执行先被被引入的模块的内容,后执行主模块内容,且相同引入的模块也不再重复执行

比较CommonJS规范 和ES6模块化规范

原文:https://www.cnblogs.com/codexlx/p/12495238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!