ES6 模块 与 CommonJS 模块 的区别 与 共同点
一、区别
  1. CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。
  2. CommonJS 模块的require()是同步加载模块,ES6模块的import命令是异步加载,有一个独立的模块依赖的解析阶段。
  3. CommonJS 是对模块的浅拷贝,ES6 Module是对模块的引用,即ES6 Module 只存之读,不能改变其值,具体点就是指针指向不能变,类似const。
  4. import 的接口是read-only(只读状态),不能修改其变量值。即不能修改其变量的指针指向,但可以改变变量内部指针指向。可以对CommonJS 重新赋值(改变指针指向),但是对ES6 Module 赋值会编译报错。
二、共同点
  1. CommonJS 和 ES6 Module 都可以对引入的对象进行赋值,即对对象内部属性的值进行改变。


关于作者

这样
划水摸鱼专业户
获得点赞
文章被阅读