export 和 export default

export 和 export default两个导出,它们的异同:

  1. export与export default均可用于导出常量、函数、文件、模块等,

  2. 在一个文件或模块中,export、import可以有多个,export default仅有一个

  3. 通过export方式导出,在导入时要加{ },因为不知道要导入哪个;不论是导入一个还是多个,都必须在{}内部,调用时直接调用即可。

a.js
export {
   num:1,
   add:function(){}
}

import { add } from 'a.js'       //导入时加{ } ,使用时直接使用即可
import * as A from 'a.js'         //导入时将所有导出的都放入到一个对象中,调用时可通过对象来访问(A.add)
  1. export default则不需要,是因为在导出时,会作为一个默认的对象导出,调用时,通过这个对象寻找相应的属性来调用相应的方法,常量等
b.js
export default {               //导出时直接导出对象
   num:1,
   add:function(){}
}

import   A   from 'a.js'       //使用时A.num;
  1. export能直接导出变量表达式,export default不行。

参考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/export

你可能感兴趣的:(ES6)