try和/或catch块中是否可以省略大括号,就像if和else块一样?

12
if (foo) {
  bar;
}

可以简写成

if(foo) bar;

既然它只是块中的一个语句。

我想知道try/catch是否也适用于此... 我不喜欢代码中的额外冗余。

1个回答

21
根据ECMAScript 5的规定,需要使用块语句,这意味着您需要使用花括号。

https://es5.github.io/#x12.14

TryStatement:

try 块语句 Catch

try 块语句 Finally

try 块语句 Catch Finally

Catch:

catch (标识符) 块语句

Finally:

finally 块语句

https://es5.github.io/#x12.1

块:

{ 语句列表(可选) }

语句列表:

语句

语句列表 语句


@user1689607:你在引用,为什么不注明引用来源呢?具体来说,tryblock - T.J. Crowder
1
@T.J.Crowder: 不是“根据ECMAScript 5”和指向规范HTML版本的链接足够了吗? - I Hate Lazy
@user1689607:啊,抱歉,在“github”之后我有些恍惚了。现在有一个规范的HTML版本(如上所述)。 (无论如何,以防你产生错误的印象,+1) - T.J. Crowder
@T.J.Crowder:没关系...我有点犹豫是链接到官方规范,还是带超链接等的github版本。 - I Hate Lazy
@user1689607:是的,那个 GitHub 版本很不错。官方版本的链接还算合理,但并不在同一水平线上。 - T.J. Crowder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接