为什么`Export Default Const`无效? [英] Why Is `Export Default Const` invalid?

查看:356
本文介绍了为什么`Export Default Const`无效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到以下情况很好:

const Tab = connect( mapState, mapDispatch )( Tabs );
export default Tab;

然而,这是不正确的:

export default const Tab = connect( mapState, mapDispatch )( Tabs );

但这很好:

export default Tab = connect( mapState, mapDispatch )( Tabs );

可以解释为什么 const 导出默认无效?这是不必要的补充吗?声明为导出默认值的任何内容都假定为 const 或类似的?

Can this be explained please why const is invalid with export default? Is it an unnecessary addition & anything declared as export default is presumed a const or such?

推荐答案

const 就像 it是 LexicalDeclaration VariableStatement,声明),用于在块中定义标识符。

const is like let, it is a LexicalDeclaration (VariableStatement, Declaration) used to define an identifier in your block.

您正在尝试将其与默认关键字混合, 需要 HoistableDeclaration,ClassDeclaration AssignmentExpression 跟随它。

You are trying to mix this with the default keyword, which expects a HoistableDeclaration, ClassDeclaration or AssignmentExpression to follow it.

因此它是 SyntaxError

如果你想要 const 你需要提供标识符,而不是使用 default

If you want to const something you need to provide the identifier and not use default.

export 本身接受 VariableStatement 声明 to it'是的。

export by itself accepts a VariableStatement or Declaration to it's right.

AFAIK导出本身不应该在当前范围内添加任何东西。

AFAIK the export in itself should not add anything to your current scope.


以下是好的导出默认标签;

Tab 成为 AssignmentExpression ,因为它的名称为 default

Tab becomes an AssignmentExpression as it's given the name default ?


export default Tab = connect(mapState ,mapDispatch)(Tabs); 没问题

这里 Tab = connect( mapState,mapDispatch)(Tabs); AssignmentExpression

这篇关于为什么`Export Default Const`无效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆