require和import区别

require和import区别区别 1 模块加载的时间 require 运行时加载 import 编译时加载 效率更高 区别 2 模块的本质 require 模块就是对象 输入时必须查找对象属性 import ES6 模块不是对象 而是通过 export 命令显式指定输出的代码 再通过 import 命令输入 这也导致了没法引用 ES6 模块本身 因为它不是对象 CommonJS 模块 let exists read

区别1:模块加载的时间

test(); import { 
    test} from '/test'; 

上面的代码不会报错,正常执行

区别2:模块的本质

// CommonJS模块 let { 
    exists, readFile } = require('fs'); // 等同于 let fs = require('fs'); let exists = fs.exists; let readfile = fs.readfile; 

上面CommonJs模块中,实质上整体加载了fs对象(fs模块),然后再从fs对象上读取方法

// ES6模块 import { 
    exists, readFile } from 'fs'; 

上面ES6模块,实质上从fs模块加载2个对应的方法,其他方法不加载

区别3:严格模式

// m1.js export var foo = 'bar'; setTimeout(() => foo = 'baz', 500); // m2.js import { 
   foo} from './m1.js'; console.log(foo); //bar setTimeout(() => console.log(foo), 500); //baz 

ES6 模块之中,顶层的 this 指向 undefined ,即不应该在顶层代码使用 this

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233933.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言sigaction,c语言信号处理sigaction[通俗易懂]

    c语言sigaction,c语言信号处理sigaction[通俗易懂]c语言信号处理sigaction(2011-04-1823:45:19)标签:c语言信号处理sigactionsighupit分类:c信号安装函数sigaction(intsignum,conststructsigaction*act,structsigaction*oldact)的第二个参数是一个指向sigaction结构的指针(结构体名称与函数名一样,千万别弄混淆了)。在结构sig…

    2022年5月26日
    31
  • 华为技术专家居然把JVM内存模型讲解这么细致「建议收藏」

    华为技术专家居然把JVM内存模型讲解这么细致「建议收藏」全是干货的技术号:本文已收录在【github面试知识仓库】,欢迎star/fork:https://github.com/Wasabi1234/Java-Interview-Tutorial内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着os和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM高效稳定运行。不同JVM对于内存的划分方式和管理机制存在差异。结合JVM虚拟机规范,来探讨经典JVM内存布局。JVM运行时数据区.

    2022年5月24日
    35
  • 滴滴派单规则分析

    滴滴派单规则分析滴滴派单规则1批量匹配(全局最优)派单策略主要的原则是:站在全局视角,尽量去满足尽可能多的出行需求,保证乘客的每一个叫车需求都可以更快更确定的被满足,并同时尽力去提升每一个司机的接单效率,让总的接驾距离和时间最短。这个算法几乎是所有类似派单系统为了解决这个问题的最基础模型,在Uber叫做BatchingMatching,滴滴叫做“全局最优”或者“延迟集中分单”。2基于供需预测的分单(大数据预测)利用对未来的预测:如果我们预测出未来一个区域更有可能有更多的订单/司机,那么

    2022年6月2日
    143
  • oracle sql 去重_oracle高效去重

    oracle sql 去重_oracle高效去重在数据库的实际操作中,经常会遇到这样的情况:不同id所对应的信息是相同的,即行数据相同。下面我将分别针对三种常用的数据库找出重复的记录,并将其进行删除。一:SQLserver数据库delete[db_BaiDuDB].[dbo].[tb_WEB_Hotel]whereidin(selectidfrom(selectunitName,unitAddress…

    2022年9月30日
    1
  • VS2017 注册

    VS2017 注册VisualStudio2017序列号Key激活码VS2017注册码VisualStudio2017(VS2017)企业版 Enterprise注册码 序列

    2022年7月2日
    23
  • 『贝壳找房APP』反编译到底有多简单–反编译和调试实践

    『贝壳找房APP』反编译到底有多简单–反编译和调试实践

    2021年6月9日
    177

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号