相同点
- 都是导出常量、函数、文件、模块等
- 可以在其他文件或模块中通过import 引入
- ES中的规范
不同点
- 在一个文件或模块中,export可以有多个
let n = 1
export let a = 'a'
export let b = 'b'
export { n as m}
而export default 只有一个
let str= 'str'
export default str
- 通过export 导出,在导入时要加 { },或者分条引入
import {a, b} from 'a' <- export let a = a; export let b = b
或者
import {a} from 'a'
import {b} from 'b'
export default 直接引入
import str from 'str <- export default str
- export 规定的是对外的接口,引入的时候必须与模块内部变量建立一一对应的关系
import {a} from 'a'<- export let a = 'a'
export default 为默认输出,可以在引入的时候任意命名
import b from 'a' <- export default str
- export 可以直接导出变量表达式
export const A = 'a'
export default 不可以
let a = 'a'
export default a