为什么 `export default const ` 无效?
两种 export 方式
export default const a = 1
和
const a = 1
export default a
为什么前者这样无效,而后者却可以?
该问题与 stackoverflow 上的一个问题类似。但是因为水平原因,没有理解。
追加问题:
export {
a: 1,
}
为什么这样又不可以?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
stackoverflow 上说了,const/let是ES6关键字,如果default后跟const之类的关键字是不符合的,
ES6规范中标记出了default后面能带的参数
export命令输出的是接口,可以动态的获取模块内部的值,具体可以来说可以是变量,函数或class的,但是你上面那种方式直接导出一个确切的对象,换成下面这中方式是可以的,因为其他模块引入这个文件,使用这个接口获取到a的值是动态的
默认导出不需要形参, 只要实参就行了
babel playground转化后的代码
module文件导出的实际上是
exports
对象export 后需要一个key将val绑定在
exports
对象上, 因此用一个声明语句得到key和valexpord default 已经指定了key为
default
, 所以后面只能跟一个值表达式同理一下 export default都是合法且等效的