export 和 export default 的区别

558 阅读1分钟

相同点

  1. 都可以输出变量、函数、class

区别

export default 命令

  1. 为模块指定默认输出的值(变量、函数、class),对应的 import 语句不需要使用大括号
//export-default.js
export default function foo() {
    console.log('我是匿名函数')
}
//import-default.js
import foo from './export-default'
haha() // 我是匿名函数
  1. 可以输出匿名函数,import 命令可以为该匿名函数指定任意名字。
//export-default.js
export default function () {
    console.log('我是匿名函数')
}
//import-default.js
import haha from './export-default'
haha() // 我是匿名函数

export 命令

  1. 为模块输出多个值(变量、函数、class),对应的 import 语句需要使用大括号
  2. 可以输出原来的名字,也可以用 as 关键字重命名
function v1() {}
function v2() {}
export {
    v1,
    v1 as ver1, //重命名后,v1可以输出两次
    v2,
}

未完待续...