【问题标题】:Should I put a semicolon after ES7 decorators?我应该在 ES7 装饰器后加分号吗?
【发布时间】:2015-12-09 00:02:11
【问题描述】:

Jetbrains Webstorm 不断显示以下代码的“未终止语句”。

@connect(props)
class NavBar extends Component {...}

但是当我在装饰器后面加上一个分号时,消息消失了。我只是想知道是否必须在装饰器后加一个分号。

@connect(props);
class NavBar extends Component {...}

【问题讨论】:

  • 我不会,特别是如果他们装饰了一个不单独使用分号的声明。
  • 我怀疑 Webstorm 不知道装饰器,所以它认为那些是函数调用。

标签: javascript ecmascript-2016


【解决方案1】:

不,你不应该。根据draft grammar,装饰器是表达式,它们是方法或类定义的一部分。它们不是语句,并且不能以分号结尾。

Imo,在那里使用分号会在视觉上将装饰者与被装饰者分开,这看起来很奇怪——尤其是即使装饰值也不以分号结尾。看起来 WebStorm 还不了解装饰器语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 2010-11-29
    • 2015-03-22
    • 2012-04-26
    • 2015-11-26
    • 2017-10-03
    相关资源
    最近更新 更多