首页 > 其他分享 >ES6-import后加花括号{}和不加花括号引用模块的区别

ES6-import后加花括号{}和不加花括号引用模块的区别

时间:2022-11-15 22:11:34浏览次数:58  
标签:ES6 default 后加花 js 括号 export 模块 import

ES6-import后加花括号{}和不加花括号引用模块的区别
使用花括号
在A文件中想要引用B文件模块,所引入的名字必须与B文件中导出的名字相同
在A.js中
export const A{ *** }
那么在B.js中

import { A } from './A' //正确,因为A.js中有命名为A的export
import {A1} from './A' //错误,因为A.js中没有命名为A1的export

不使用花括号
在不使用花括号的情况下,import使用的命名是随意的
即在B.js中
import A from ',/A' //正确
import A1 from './A' //正确

但是,不使用花括号{}引用的前提是,在A.js中 必须有默认导出的export default才能生效
即在A.js中需要改动成下面的代码

const A { *** };
export default A;

那么,我们为什么要有这种写法呢?
从上面第1点加花括号的例子我们可以看到,使用import命令,需要清楚的知道所要加载的变量名或者函数名,一旦写错就无法引用。那么export default命令便可以实现在引入的时候随意指定名称使用,大大方便了程序员。
显然,一个模块只能有一个默认输出,因此,A.js中,export default命令只能使用一次,所以import后面才不用加大括号,应为只会对应唯一的export default命令。

 

webpack 引入模块import 后面加入{}和不加大括号有什么区别

export default命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此export deault命令只能使用一次。所以,import命令后面才不用加大括号,相反其它的export 输出 可以有多个,且import时必须加大括号

也就是说,通过import xxx from "..."引入的,xxx已经是默认导出项的别名了。
import { xxx } from "..."引入的,{ xxx }只是导出项的名字,而并非导入时的名字。

标签:ES6,default,后加花,js,括号,export,模块,import
From: https://www.cnblogs.com/itjeff/p/16894191.html

相关文章

  • es6有哪些新特性?
    1.let和ocnst,可以定义块级作用域 2.新增了箭头函数,箭头函数简化了函数定义的定义 3.新增了promise解决回调地狱问题ps:回调地狱是我们异步请求服务器数据时......
  • ES6中的解构赋值(数组,对象,嵌套,默认值)
    解构赋值通过解构赋值,可以快速从对象或者数组中取出属性或者数值。解构赋值可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量。constarr=['das......
  • 【ES6】模块化
    模块化1、模块化模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。2、ES6模块化语法模块功能主要由两个命令构成:export和importexport命令用于......
  • Javascript(笔记32) - ES6特性 - let
    Javascript(笔记32)-ES6ECMA EuropeanComputerManufactureresAssociation,中文名:欧洲计算机制造商协会,目标是评估、开发和认可电信和计算机标准。1994年后改名为 ECM......
  • #yyds干货盘点#ES6 Class 的继承
    类的继承​​extends​​简介Class可以通过​​extends​​关键字实现继承,让子类继承父类的属性和方法。extends的写法比ES5的原型链继承,要清晰和方便很多。classPoint......
  • 20. 有效的括号 ----- 无序哈希表、栈
    给定一个只包括'(',')','{','}','[',']' 的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都......
  • 【JS】8 种 ES6 中扩展运算符的用法
    扩展操作符 … 是ES6中引入的,将可迭代对象展开到其单独的元素中,所谓的可迭代对象就是任何能用forof循环进行遍历的对象,例如:数组、字符串、Map、Set、DOM节点等。1、拷贝......
  • 【正则】964- 正则表达式的括号如何使用?
    最近再一次重温老姚大佬的《JavaScript正则表达式迷你书》,并将核心知识点整理一遍,方便复习。原书写得非常棒,建议看下原书啦。  地址:https://github.com/qdlaoyao/js-re......
  • Es6面型对象 class类
    在js中,function可以看做为方法,构造函数可以看做为类在Es6中,class(类)作为对象的模板被引用,可以通过class关键字定义;class的本质是functionEs5就支持class概念贴点:  1......
  • 正则表达式 string.replaceAll替换花括号 报错illegal repetition near index 0
    1Stringregex="(\\$|\\#)\\{[^{}]*\\}";2List<WatcherTaskAgentFileMapping>watcherTaskAgentFileMappingList=agentFileQueryDao.queryWatcherAgentFileList(......