javascript – ES6模块导出默认语法

前端之家收集整理的这篇文章主要介绍了javascript – ES6模块导出默认语法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用es6-module-transpiler,esprima和JSHint与esnext:true选项. JSHint抱怨当我说:
export default = { some: 'thing',other: 'thing' };

但是esprima在我使用时抱怨

export default { some: 'thing',other: 'thing' };

spec

export default AssignmentExpression ;

这让我认为JSHint需要更新,esprima正在被轰炸,因为没有任务.有人可以成为我的决定者吗?

解决方法

实际上,AssignmentExpression可以是任何表达式,它是最顶层的表达式,包含所有其他表达式的表达式(参见 spec).

然而,

export default = { some: 'thing',other: 'thing' };

真的不是一个赋值表达式,这是一个语法错误.如果您在赋值表达式中使用赋值运算符,则需要左侧和右侧.所以这样的事情是有效的:

export default foo = { some: 'thing',other: 'thing' };

只要使用对象字面值就应该是正确的,因为正如我所说,一个AssignmentExpression可以是任何表达式.

所以Esprima似乎是错误的.

猜你在找的JavaScript相关文章