import和require的区别

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

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

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

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

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

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

相关推荐
D***t13114 分钟前
React图像处理案例
前端
强化学习与机器人控制仿真22 分钟前
RSL-RL:开源人形机器人强化学习控制研究库
开发语言·人工智能·stm32·神经网络·机器人·强化学习·模仿学习
百***480729 分钟前
【Golang】slice切片
开发语言·算法·golang
q***925136 分钟前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
仟濹1 小时前
【Java 基础】面向对象 - 继承
java·开发语言
万少1 小时前
我是如何使用 Trae IDE 完成《流碧卡片》项目的完整记录
前端·后端·ai编程
9***Y481 小时前
前端微服务
前端·微服务·架构
ByteCraze1 小时前
我整理的大文件上传方案设计
前端·javascript
郝学胜-神的一滴1 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
2501_941623321 小时前
C++高性能网络服务器与epoll实战分享:大规模并发连接处理与事件驱动优化经验
开发语言·php