我正在通过在Chrome Dev中启用“实验性Web平台”标志来尝试JavaScript模块(v60,在撰写本文时)。
当我尝试导入此模块时:
export default let foo = 10;
我收到此错误消息:
Uncaught SyntaxError: Unexpected strict mode reserved word
没有default
关键字,它可以正常工作。这也很好用:
let a = 10;
export default a;
MDN未明确说export default ...
,let
,var
等允许使用const
符号,但他们确实提供了示例这样的功能:
export default function (…) { … }.
这样的变量:
export let name1 = …, name2 = …, …, nameN;
问题:当前规范是否无法使用default
关键字导出常规变量,这可以通过函数和类来完成?
答案 0 :(得分:3)
export
有strictly defined syntax,默认导出的正确语法是
export default expression;
let foo = 10
不是表达而是声明。它可用于命名导出:
export let name1, name2, …, nameN;
默认情况下,不需要导出名称。
与export default function (…) { … }
类似,它应该是
export default 10;