11

我有这样configtslint.jsonone line rule

one-line": [true,
      "check-open-brace",
      "check-catch",
      "check-else",
      "check-whitespace"
    ],

当我有这样的代码行时:

if(SomethingTrue) { next("a"); }
else { next("b"); }

我有警告:

(one-line) file.ts[17, 9]: misplaced 'else'

为什么会这样?拥有一个是不好的做法line else吗?

4

4 回答 4

22
if (condition is true) {
  // do something;
}
else {
  // do something else;
}

注意else旁边的}

if (condition is true) {
  // do something;
} else {
  // do something else;
}
于 2017-04-06T01:22:44.970 回答
10

你有 :

else { next("b"); }

否则必须一一对应。所以:

else { 
    next("b"); 
}

另一条线是不好的做法吗?

只是更容易阅读。它是一致性的风格指南。

于 2016-02-08T01:36:56.600 回答
4

根据tslint 文档,问题在于else"check-else"下指定的 whenone-line必须与 if 的右大括号位于同一行。

所以在你的情况下,而不是:

if(SomethingTrue) { next("a"); }
else { next("b"); }

使用这种格式:

if(SomethingTrue) { next("a"); } else { next("b"); }
于 2016-12-01T14:21:06.170 回答
3
if (condition) {
  // Your Code
} else {
  // Your Code
}

End of If and start of else should be on the same line.

于 2017-12-13T15:33:47.687 回答