export default后面不能跟关键字

默认导出 export default 后面不能接 varconstlet

正是因为 export default命令其实只是输出一个叫做 default的变量,所以它后面不能跟变量声明语句。

//正确
export var a = 1;

//正确
var a = 1;
export default a;

//错误
export default var a = 1;

上面代码中,export default a的含义是将变量 a 的值赋给变量 default
同样的,因为 export default本质是将该命令后面的值,赋给 default 变量后再默认导出,所以直接将一个值写在 export default 后面。


上述理论可以通过下面代码验证:

首先在 a.js 文件下写如下代码:

export let a = 1;
let b = 2;
export default b;

b.js 文件下整体导入 a.js 模块:

import * as obj from './b.js';
console.log(obj);

然后通过 babel b.js --out-file c.js 将ES5代码转为ES6代码运行 c.js
结果为:

{ a: 1, default: 2 }

可以看到,obj 对象包含着 export 和 export default 的导出对象,其属性名就是 default

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King_960725

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值