ES6 import & export默认值default的问题!
发布于 3 个月前 作者 yuelau 951 次浏览 来自 问答

a.js 与 b.js属于同一个文件夹

a.js 导出模块

const PI = Math.PI
// 导出模块
// 写法1:
export default PI
// 写法2:
export default {
	PI
}

b.js 导入模块

impot tmp from './b'
console.log(tmp) // a.js 中写法1 与 写法2在b.js中结果是什么? 为什么?
5 回复

export default PI 就是只导出PI.

export default { PI, PI2 } 会导出 PI,PI2(有的话.)

写法1:直接输出3.141592653589793 写法2:输出{ PI: 3.141592653589793 } 写法2的export等于

export default {
	PI: PI,
}

也就是先创建了一个包含这个PI的对象,然后export default这个对象

额 上面回答的差不多了 我就指出一个小问题吧 impot tmp from ‘./b’ 错了吧 应该是 impot tmp from ‘./a’

export, export default 你可能没弄明白,你可以看一看阮一峰老师的这篇文章export, export default

export default实际是将default后面的常量、变量、函数、对象赋值给一个名为default的属性上: (export default 常量、变量、函数、对象) ------------>>> (exports.default = 常量、变量、函数、对象) 只是es6默认会将这个default变量传给import prop from 'xxx’中的prop,完整写就是(import { default as prop} from ‘xxx’) 在es6中直接import是符合直觉的,default也像一个关键词,但是如果转成es5用module require的方式引入,那么就千万记得,const xxx = require(‘modulename’).default;export default的东西挂在这个属性下哦

回到顶部