import和require的区别

import是ES6标准中的模块化解决方案,require是node中遵循CommonJS规范的模块化解决方案。

后者支持动态引入,也就是require(${path}/xx.js),前者目前不支持,但是已有提案。

前者是关键词,后者不是。

前者是编译时加载,必须放在模块顶部,在性能上比后者好一些;后者是运行时加载,理论来说放在哪里都可以。

前者采用的是实时绑定方式,即导入和导出的值都指向同一个内存地址,所以导入的值会随着导出值变化;而后者在导出时是指拷贝,就算导出的值变化了,导入的值也不会变化,如果想要更新导入的值,就要重新导入。

前者会编译成require/exports来执行。

相关推荐
Sally璐璐11 分钟前
Go语言变量声明与初始化详解
java·开发语言·golang
Stringzhua29 分钟前
Vue数据的变更操作与表单数据的收集【6】
前端·javascript·vue.js
luofeiju32 分钟前
交叉编译笔记
开发语言
万少39 分钟前
可可图片编辑 HarmonyOS 上架应用分享
前端·harmonyos
StudyWinter1 小时前
【C++】仿函数和回调函数
开发语言·c++·回调函数·仿函数
你的人类朋友1 小时前
git常见操作整理(持续更新)
前端·git·后端
无羡仙1 小时前
Webpack 核心实战:从零搭建支持热更新与 Babel 转译的现代前端环境
前端·webpack·前端框架
乐~~~1 小时前
el-date-picker type=daterange 日期范围限制
javascript·vue.js·elementui
你的人类朋友1 小时前
git中的Fast-Forward是什么?
前端·git·后端
C4程序员1 小时前
北京JAVA基础面试30天打卡14
java·开发语言·面试