我应该在 ES7 装饰器后面加分号吗?

Should I put a semicolon after ES7 decorators?

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

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

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

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

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

Imo,在此处使用分号会在视觉上将装饰器与被装饰器分开,这看起来很奇怪 - 特别是如果装饰器值不以分号结尾。看起来 WebStorm 还不理解装饰器语法。